Module ID into

Objective of this analysis is to identify networks of genes associated with disease states. Further work will annotate these. The below functions are modified from Kazer /et al./ 2020 /Nature Med/ and Collora /et al./ 2022 /Immunity/

note that these functions are being called with defined parameters to facilitate the rmd file knitting, but the functions are designed to work interactively without defining softpower or npcs.

## Required packages for code
suppressPackageStartupMessages(require(WGCNA))
suppressPackageStartupMessages(require(flashClust))
suppressPackageStartupMessages(require(Hmisc))
suppressPackageStartupMessages(require(dplyr))
suppressPackageStartupMessages(library(doParallel))
registerDoParallel(cores=10)
options(warn=0)

## Required packages for saving results
suppressPackageStartupMessages(require(openxlsx))
suppressPackageStartupMessages(require(ggplot2))
suppressPackageStartupMessages(require(cowplot))
suppressPackageStartupMessages(library(Seurat))
#these functions are from Sam Kazar's 2020 Nature Med paper with minor modifications and added notes
{# Choosing the appropriate power for generating the adjacency matrix.
  FindPower <- function(datExpr){
    #choose soft-threshold power
    powers = c(c(1:10), seq(from = 12, to=20, by=2))
    sft=pickSoftThreshold(datExpr,dataIsExpr = TRUE,powerVector = powers,corFnc = cor,
                          corOptions = list(use = 'p', method = "pearson"),networkType = "signed")
    
    # Plot the results
    par(mfrow = c(1,2));
    cex1 = 0.9;
    
    # Scale-free topology fit index as a function of the soft-thresholding power
    plot(sft$fitIndices[,1], -sign(sft$fitIndices[,3])*sft$fitIndices[,2],xlab="Soft Threshold (power)",ylab="Scale Free Topology Model Fit, signed R^2",type="n", main = paste("Scale independence"));
    text(sft$fitIndices[,1], -sign(sft$fitIndices[,3])*sft$fitIndices[,2],labels=powers,cex=cex1,col="red");
    
    # Red line corresponds to using an R^2 cut-off
    abline(h=0.80,col="red")
    
    # Mean connectivity as a function of the soft-thresholding power
    plot(sft$fitIndices[,1], sft$fitIndices[,5],xlab="Soft Threshold (power)",ylab="Mean Connectivity", type="n",main = paste("Mean connectivity"))
    text(sft$fitIndices[,1], sft$fitIndices[,5], labels=powers, cex=cex1,col="red")
  }
  
  # Generating the adjacency matrix and performing clustering
  ClusterTOM <- function(datExpr, softPower){
    #dev.off()
    #Calclute the adjacency matrix
    adj= adjacency(datExpr,type = "signed", power = softPower);
    
    #Turn adjacency matrix into a topological overlap matrix (TOM) to minimize the effects of noise and spurious associations.
    TOM=TOMsimilarityFromExpr(datExpr,networkType = "signed", TOMType = "signed", power = softPower, corType="bicor");
    
    colnames(TOM) = rownames(TOM) = colnames(datExpr)
    dissTOM=1-TOM
    
    #Hierarchical clustering of the genes based on the TOM dissimilarity measure
    geneTree = flashClust(as.dist(dissTOM),method="complete");
    
    #Plot the resulting clustering tree (dendrogram)
    plot(geneTree, xlab="", sub="",cex=0.3);
    
    return(list(dissTOM = dissTOM, geneTree = geneTree)) #returns list with dissimilarity TOM, and the clustered gene tree.
  }
  
  # Cut the resulting clustering dendrogram using the "tree" method for cutreeDynamic. Minimum module size can be specified.
  CutTOMTree <- function(datExpr, dissTOM, geneTree, minModuleSize = 10){
    #dev.off()
    # Module identification using dynamic tree cut, you can also choose the hybrid method
    dynamicMods = cutreeDynamic(dendro = geneTree,  method="tree", minClusterSize = minModuleSize);
    #dynamicMods = cutreeDynamic(dendro = geneTree, distM = dissTOM, method="hybrid", deepSplit = 2, pamRespectsDendro = FALSE, minClusterSize = minModuleSize);
    
    #Get the module labels and the size of each module. Lable 0 is reserved for unassigned genes
    print(table(dynamicMods))
    
    #Plot the module assignment under the dendrogram; note: The grey color is reserved for unassigned genes
    dynamicColors = labels2colors(dynamicMods)
    table(dynamicColors)
    plotDendroAndColors(geneTree, dynamicColors, "Dynamic Tree Cut", dendroLabels = FALSE, hang = 0.03, addGuide = TRUE, guideHang = 0.05, main = "Gene dendrogram and module colors")
    
    #Set the diagonal of the dissimilarity to NA 
    diag(dissTOM) = NA;
    
    #extract modules
    module_colors= setdiff(unique(dynamicColors), "grey")
    modules = lapply(module_colors, function(x){colnames(datExpr)[which(dynamicColors==x)]})
    names(modules) = module_colors
    return(list(dyanmicColors = dynamicColors, modules = modules)) #returns list with module colors, and the modules themselves
  }
  
  # Merge modules with low dissimilarity. Cutoff for dissimilarity merge can be specified
  MergeSimilarModules <- function(datExpr, dynamicColors, geneTree, MEDissThres = 0.5){
    #cacluate eigengenes
    MEList = moduleEigengenes(datExpr, colors=dynamicColors)
    MEs = MEList$eigengenes
    
    # Calculate dissimilarity of module eigengenes
    MEDiss = 1-cor(MEs);
    
    # Cluster module eigengenes
    METree = hclust(as.dist(MEDiss), method = "average");
    
    # Plot the result
    #sizeGrWindow(7, 6)
    plot(METree, main = "Clustering of module eigengenes",
         xlab = "", sub = "")
    abline(h = MEDissThres, lwd=2, col="red")
    
    # Call an automatic merging function
    merge = mergeCloseModules(datExpr, dynamicColors, cutHeight = MEDissThres, verbose = 3)
    # The merged module colors
    mergedColors = merge$colors;
    # Eigengenes of the new merged modules:
    mergedMEs = merge$newMEs;
    #plot showing how merged modules exist
    plotDendroAndColors(geneTree, cbind(dynamicColors, mergedColors),
                        c("Dynamic Tree Cut", "Merged dynamic"),
                        dendroLabels = FALSE, hang = 0.03,
                        addGuide = TRUE, guideHang = 0.05)
    
    #extract merged modules
    merged_module_colors= setdiff(unique(mergedColors), "grey")
    merged_modules = lapply(merged_module_colors, function(x){colnames(datExpr)[which(mergedColors==x)]})
    names(merged_modules) = merged_module_colors
    
    return(list(mergedColors = mergedColors, merged_modules = merged_modules)) #returns list with merged colors, and the merged modules themselves
  }
  
  ############################################################################################################
  ## Functions for assaying module significance against background and temporal variability in module score ##
  ############################################################################################################
  
  ## Test to determine if the genes within the module are truly the least dissimilar compared to randomly generated modules of the same size.
  TestModuleSignificance <- function(mod, dissTOM, expr.data, n_perm = 10000, pval = 0.05, n.bin = 10, seed = 42){
    #vectorize the actual distribution of (dis)similarities, and remove zeros!
    set.seed(seed)
    true.diss = as.vector(dissTOM[mod,mod])
    true.diss = true.diss[-which(true.diss == 0)]
    
    #size of module for permutations
    mod.size = length(mod)
    
    #bin all genes by expression
    expr.avg = rowMeans(expr.data)
    expr.avg = expr.avg[order(expr.avg)]
    expr.avg.cut = as.numeric(x = cut2(x = expr.avg, m=round(length(expr.avg)/n.bin)))
    names(expr.avg.cut) = names(expr.avg)
    
    #create a table of binnings of all genes and of our module genes
    all.bin.table = table(expr.avg.cut)
    mod.bin.table = table(expr.avg.cut[mod])
    
    #randomly generate module with same expression binning structure and run t.test and record results
    test.results = data.frame(statistic = rep(NA, n_perm), pval = rep(NA, n_perm)) #container for results
    
    for (i in 1:n_perm){ #by permutation
      random.mod = list() #create an empty list we will fill with gene names (each element will be gene names by bin)
      
      #for each bin of the mod bin table, randomly select that number of genes from the full set with that expression
      for (j in names(mod.bin.table)){ 
        bin.genes = sample(names(expr.avg.cut)[which(expr.avg.cut == as.numeric(j))], mod.bin.table[j], replace = FALSE)
        random.mod[[as.numeric(j)]] = bin.genes #stick those genes into the random.mod list
      }
      #unlist and vectorize the distribution of (dis)similarities (remember to remove zeros)
      random.mod = unlist(random.mod)
      random.diss = as.vector(dissTOM[random.mod,random.mod])
      random.diss = random.diss[-which(random.diss == 0)]
      
      #perform a one-sided wilcox.test and record the statistic and p-value.
      #Note, IMPORTANT: here we perform the test asking if the true diss is LESS THAN the random diss, as we are trying to minimize dissimilarity
      test = wilcox.test(x = true.diss, y = random.diss, alternative = "less")
      test.results[i,] = c(test$statistic, test$p.value)
    }
    
    #correct for multiple hypothesis testing, and then report the proportion of bad tests
    test.results$FDR = p.adjust(test.results$pval, method = "fdr")
    num.failed.tests = sum(test.results$FDR > pval)
    print(paste(paste(num.failed.tests, n_perm, sep="/"), "permutations failed the Mann-Whitney test.", sep=" "))
    
    #is the percentage of failed tests less than or equal to the p-val specified?
    return(num.failed.tests/n_perm <= pval) #returns a vector of booleans indicating if each module was significant based on the specific p.val
  }
  
 
}


#This function just wraps the above with appropriate prompts to identify modules 
#By default this is using the "RNA" assay. Modifying it is trivial but 
#default is set to protect against incorrectly using SCT 
ModID<-function(seuratobj, cluster=NA, prefix="modules", nPCS="", softpower=""){
  #subset to a cluster or clusters of interest if desired 
  if (sum(!is.na(cluster))>1){test_clus<-subset(seuratobj, idents=cluster)}else{test_clus<-seuratobj}
  #perform feature selection, scaling, and PCA 
  test_clus<-FindVariableFeatures(test_clus, verbose=FALSE)
  test_clus<-ScaleData(test_clus, verbose=FALSE)
  test_clus<-RunPCA(test_clus, verbose=FALSE)
  
  #prompot for number of PCs needed 
  if(nPCS==""){print(ElbowPlot(test_clus))}
  while(nPCS==""){nPCS<-readline("how many NPCs?")}
  nPCS<-as.integer(nPCS)
  #expanding the genes by projecting the dims to more PCs 
  test_clus<-ProjectDim(test_clus)
  
  #gere we'll grab the top 25 features (positive and negative) associated with each dimension 
  genes<-c()
  for (i in 1:nPCS){genelist<-TopFeatures(test_clus, dim = i, nfeatures = 50,balanced = T, projected = T )
  for (i in 1:length(genelist)){genes<-c(genes, genelist[[i]])}}
  #remove duplicates 
  genes<-unique(genes)
  #grab the matrix from the seurat object 
  test_clus<-as.matrix(test_clus@assays$RNA@data[genes,])
  #prompt for softpower 
  FindPower(datExpr=t(test_clus))
  while(softpower==""){softpower<-readline("what softpower?")}
  softpower<-as.integer(softpower)
  #run the remaining functions to actually cut the tree
  test_clus_tom<-ClusterTOM(datExpr = t(test_clus), softPower = softpower)
  test_clus_mods<-CutTOMTree(datExpr = t(test_clus), geneTree = test_clus_tom$geneTree, dissTOM = test_clus_tom$dissTOM, minModuleSize = 10 )
  test_clus_merge_mods<-MergeSimilarModules(datExpr=t(test_clus), dynamicColors = test_clus_mods$dyanmicColors, geneTree = test_clus_tom$geneTree, MEDissThres = 0.5)
  print(test_clus_merge_mods$merged_modules)                                          
  test_clus_merge_mods.isSig = sapply(test_clus_merge_mods$merged_modules, function(module){
    TestModuleSignificance(mod = module, dissTOM = test_clus_tom$dissTOM, expr.data = test_clus,
                           n_perm = 10000, pval = 0.05, n.bin = 10)
  })
  test_clus_merge_mods.isSig = test_clus_merge_mods$merged_modules[test_clus_merge_mods.isSig]
  print(test_clus_merge_mods.isSig)
  names(test_clus_merge_mods.isSig)<-paste(prefix,names(test_clus_merge_mods.isSig ), sep="_")
  return(test_clus_merge_mods.isSig)
}

#lets me wrap a whole group of objects
WarpGroupModID<-function(seuratobjlist, cluster, conds=""){mods<-list()
for (i in 1:length(seuratobjlist)){
  
  print(names(seuratobjlist)[[i]])
  if(length(conds)==1){res<-try(ModID(seuratobjlist[[i]],cluster=cluster, prefix=names(seuratobjlist)[[i]]))}else{
    res<-try(ModID(seuratobjlist[[i]],cluster=cluster, prefix=names(seuratobjlist)[[i]], nPCS =conds[i,1], softpower=conds[i,2]))
  }
  if(inherits(res, "try-error"))
  {
    #error handling code,  just skip this iteration if not modules get found or theres some error in the process
    next
  }
  
  
  mods[[i]]<-res}
return(mods)
}
#this function clusters mods and allows the user to select a cutoff for merging
MergeMods<-function(modslist,height=""){
  #first find the overlap bettween modules 
  modslist<-modslist[!unlist(lapply(modslist, is.null))]
  name<-c()
  for(i in 1:length(modslist)){
    name<-c(name, names(modslist[[i]]))
  }
  modslist<-unlist(modslist, recursive = FALSE)
  overlaps<-list()
  for(i in 1:length(modslist)){
    modoverlap<-list()
    for(j in 1:length(modslist)){
      modoverlap[[j]]<-length(intersect(modslist[[i]], modslist[[j]]))/length(modslist[[i]])

    }
    overlaps[[i]]<-modoverlap
  }
  
  #datawrangle that for plotting
  data<-matrix(unlist(overlaps), nrow = length(overlaps))
  rownames(data)<-colnames(data)<-name
  p1<-heatmap(data, keep.dendro=TRUE)
  print(heatmap(data))
  res2 = as.hclust( p1$Rowv )
  print(plot(res2))
  #ask for user cut 
  if(height==""){goodenough<-FALSE
  while(goodenough==FALSE){height<-readline(prompt ="where to make the cut")
  if(height==""){height=2}
  res<-cutree(res2, h=as.numeric(height))
  print("number of modules is")
  print(max(res))
  print(plot(res2))
  rect.hclust(res2, h=as.numeric(height), border=2:6)
  goodenough<-readline(prompt = "(w)rite mods or (c)ut again?")
  goodenough<-case_when(goodenough=="w"|goodenough=="W" ~TRUE, TRUE ~FALSE)
  }}else{
      res<-cutree(res2, h=as.numeric(height))
      rect.hclust(res2, h=as.numeric(height), border=2:6)
  }
  #merge based on those identified clusters
  mergedmods<-list()
  for( i in 1:max(res)){
    mergedmods[[i]]<-unique(unlist(modslist[res==i]))
  }
  #return modules 
  return(mergedmods)}



#loading data
setwd("~/gibbs/DOGMAMORPH/Ranalysis")
results<-readRDS( "Objects/20230518Completeobj.rds")
#setting correct default
DefaultAssay(results)<-"RNA"

#Mod identification

Mod id ends up being art as much as it is science and is overall an iterative process. The principal goal of mod detection is to identify correlated networks of genes that are presumably corregulated. You can then annotate those modules based on their predicted function and association with disease state. In practice, you can identify almost unlimited number of modules based on the question you ask and the way you decide to break up groups of cells.

To illustrate this, consider the conditions we have in our dataset: treatment (1 of 3 options), timepoint (1 of 2 options), cluster/cell type (1 of 5-15 options), participant (1 of 12), which lead to dozens of modules just on one variable, with lots more possible if you combine conditions. It’s at this point that you need to focus on specific questions you want to determine.

##Mods across all data Here I search for modules across the entire dataset. I select a softpower of 7 (the first with a cor > 0.8, the red line) and 6 PCs (where the “elbow” lies). We initially find 5 modules, 2 of which merge into 1 resulting in 4 to test. From those 1 fails the permutation test, and we have three modules.

Based on experience, I suspect one module corresponds to Myleoid based on the FLT3 and CST3, one is proliferation based on MKI67 and TOP2A, and the final one is B cells based on MS4A1.

In this case, none are particularly interesting on their own. We may be able to see if this is different across individuals, but it’s somewhat unlikely they are helpful here.

mods<-ModID(results, nPCS = 6, softpower = 7)
## Loading required package: Signac
## PC_ 1 
## Positive:  SLC8A1, PLXDC2, LYN, GRK3, RAB31, IRAK3, LRMDA, LRRK2, SYK, SPI1 
##     FGD4, RBM47, KYNU, DAPK1, CLEC7A, FAM49A, CLEC12A, DOCK5, MCTP1, MARCH1 
## Negative:  INPP4B, RORA, ANK3, TSHZ2, NELL2, BCL2, LINC01934, PCAT1, TAFA1, CMTM8 
##     AC139720.1, PLCL1, ABLIM1, AL136456.1, ST8SIA1, TGFBR3, MCF2L2, AL353660.1, ADAMTS17, NCALD 
## PC_ 2 
## Positive:  BANK1, PAX5, EBF1, FCRL1, MS4A1, RALGPS2, AFF3, COL19A1, OSBPL10, LINC00926 
##     IGHM, BLK, COBLL1, KHDRBS2, CDK14, ARHGAP24, NIBAN3, GNG7, ADAM28, RUBCNL 
## Negative:  SLCO3A1, GNAQ, NEAT1, DPYD, INPP4B, RORA, SLC8A1, PLXDC2, DOCK5, CLEC7A 
##     CLEC12A, WDFY3, LRMDA, DAPK1, DMXL2, MCTP1, EPB41L3, IRAK3, ADGRE2, FCN1 
## PC_ 3 
## Positive:  ZEB2, C1orf21, GNLY, LINC02384, TGFBR3, AOAH, OSBPL5, PDGFD, PPP2R2B, AC243829.2 
##     KLRF1, SETBP1, DTHD1, KLRC3, TCF7L2, NCAM1, MTSS1, AGAP1, PRSS23, JAZF1 
## Negative:  FLT3, NEGR1, INPP4B, CACNA2D3, CST3, DTNA, FOS, TSHZ2, ANK3, TMSB10 
##     LYZ, FHIT, PCSK5, GNAQ, TMSB4X, NELL2, VIM, CMTM8, CPVL, SHTN1 
## PC_ 4 
## Positive:  GNLY, NKG7, C1orf21, CCL5, AOAH, ATP8B4, LYZ, CST3, ZEB2, GZMH 
##     ACTB, TYROBP, GZMA, PDGFD, KLRF1, AC243829.2, PFN1, NCAM1, NEGR1, LGALS1 
## Negative:  MAP3K1, INPP4B, ANK3, BCL2, AC020651.2, TSHZ2, SVIL, AC104809.2, LINC02085, PLCL1 
##     AC139720.1, LINC02432, CHST15, PTPN13, IMMP2L, CMTM8, TCF7L2, GNAQ, FRY, FMNL2 
## PC_ 5 
## Positive:  MKI67, DIAPH3, RRM2, NCAPG, ASPM, POLQ, TOP2A, KIF11, RORA, RUNX2 
##     DTL, KNL1, KIF15, CENPF, CEP128, NUSAP1, EZH2, LINC02694, ECT2, CIT 
## Negative:  SLC11A1, FTL, JUN, FOS, TMSB10, FOSB, TCF7L2, MS4A7, MTRNR2L8, TMTC1 
##     DMXL2, LILRB2, LINC02432, AC020651.2, CHST15, CSF1R, TMSB4X, PECAM1, AC104809.2, SPRED1 
##    Power SFT.R.sq   slope truncated.R.sq  mean.k. median.k.  max.k.
## 1      1 2.99e-01  7.8200          0.782 106.0000  1.06e+02 116.000
## 2      2 4.43e-05  0.0393          0.795  56.3000  5.52e+01  68.900
## 3      3 3.81e-01 -2.2800          0.710  30.6000  2.93e+01  42.800
## 4      4 6.06e-01 -2.5000          0.702  17.0000  1.57e+01  27.500
## 5      5 6.77e-01 -2.2300          0.725   9.7700  8.52e+00  18.300
## 6      6 7.62e-01 -1.8400          0.753   5.7700  4.71e+00  12.500
## 7      7 8.12e-01 -1.8900          0.809   3.5100  2.62e+00   9.320
## 8      8 8.31e-01 -1.8800          0.869   2.2100  1.48e+00   7.320
## 9      9 8.29e-01 -1.8800          0.860   1.4300  8.63e-01   5.870
## 10    10 2.58e-01 -3.6000          0.162   0.9550  5.16e-01   4.780
## 11    12 2.71e-01 -3.1200          0.189   0.4580  2.02e-01   3.260
## 12    14 3.02e-01 -3.8400          0.239   0.2380  7.64e-02   2.280
## 13    16 3.00e-01 -3.5000          0.238   0.1310  3.14e-02   1.610
## 14    18 3.14e-01 -3.5000          0.253   0.0757  1.37e-02   1.150
## 15    20 3.42e-01 -4.0800          0.260   0.0453  6.35e-03   0.832

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##  0  1  2  3  4  5  6 
## 68 33 30 27 19 14 13

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 7 module eigengenes in given set.
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 5 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 5 module eigengenes in given set.

## $yellow
##  [1] "SLC8A1"     "PLXDC2"     "GRK3"       "RAB31"      "IRAK3"     
##  [6] "LRMDA"      "LRRK2"      "SYK"        "SPI1"       "FGD4"      
## [11] "RBM47"      "KYNU"       "DAPK1"      "CLEC7A"     "FAM49A"    
## [16] "CLEC12A"    "DOCK5"      "MCTP1"      "EMILIN2"    "EVI5"      
## [21] "WDFY3"      "RTN1"       "CYBB"       "NEAT1"      "DMXL2"     
## [26] "EPB41L3"    "ADGRE2"     "FCN1"       "MYOF"       "TLR2"      
## [31] "TCF7L2"     "FCGR3A"     "PPM1L"      "PTPRJ"      "FLT3"      
## [36] "NEGR1"      "CACNA2D3"   "CST3"       "DTNA"       "LYZ"       
## [41] "CPVL"       "SHTN1"      "CREB5"      "MS4A4E"     "ST18"      
## [46] "ATP8B4"     "TYROBP"     "AC020651.2" "AC104809.2" "LINC02085" 
## [51] "LINC02432"  "CHST15"     "FMNL2"      "MS4A7"      "SLC11A1"   
## [56] "TMTC1"      "LILRB2"     "CSF1R"      "PECAM1"     "SPRED1"    
## [61] "SERPINA1"   "ABCC3"      "HIP1"      
## 
## $turquoise
##  [1] "LYN"        "MARCH1"     "BANK1"      "PAX5"       "EBF1"      
##  [6] "FCRL1"      "MS4A1"      "RALGPS2"    "AFF3"       "COL19A1"   
## [11] "OSBPL10"    "LINC00926"  "IGHM"       "BLK"        "COBLL1"    
## [16] "KHDRBS2"    "CDK14"      "ARHGAP24"   "NIBAN3"     "GNG7"      
## [21] "ADAM28"     "RUBCNL"     "CD22"       "WDFY4"      "IGHD"      
## [26] "AP002075.1" "PLEKHG1"    "SETBP1"     "MTSS1"      "JAZF1"     
## [31] "XYLT1"      "AUTS2"      "VAV3"      
## 
## $red
##  [1] "ZEB2"       "C1orf21"    "LINC02384"  "AOAH"       "OSBPL5"    
##  [6] "PDGFD"      "AC243829.2" "KLRF1"      "DTHD1"      "KLRC3"     
## [11] "NCAM1"      "PRSS23"     "JAKMIP2"   
## 
## $brown
##  [1] "MKI67"    "DIAPH3"   "RRM2"     "NCAPG"    "ASPM"     "POLQ"    
##  [7] "TOP2A"    "KIF11"    "DTL"      "KNL1"     "KIF15"    "CENPF"   
## [13] "NUSAP1"   "ECT2"     "CIT"      "CENPE"    "ANLN"     "HIST1H1B"
## [19] "BUB1B"    "SPC25"    "STMN1"    "CDCA2"    "KIF14"    "CLSPN"   
## [25] "PCLAF"    "TPX2"     "KIF18B"  
## 
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "2753/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## $yellow
##  [1] "SLC8A1"     "PLXDC2"     "GRK3"       "RAB31"      "IRAK3"     
##  [6] "LRMDA"      "LRRK2"      "SYK"        "SPI1"       "FGD4"      
## [11] "RBM47"      "KYNU"       "DAPK1"      "CLEC7A"     "FAM49A"    
## [16] "CLEC12A"    "DOCK5"      "MCTP1"      "EMILIN2"    "EVI5"      
## [21] "WDFY3"      "RTN1"       "CYBB"       "NEAT1"      "DMXL2"     
## [26] "EPB41L3"    "ADGRE2"     "FCN1"       "MYOF"       "TLR2"      
## [31] "TCF7L2"     "FCGR3A"     "PPM1L"      "PTPRJ"      "FLT3"      
## [36] "NEGR1"      "CACNA2D3"   "CST3"       "DTNA"       "LYZ"       
## [41] "CPVL"       "SHTN1"      "CREB5"      "MS4A4E"     "ST18"      
## [46] "ATP8B4"     "TYROBP"     "AC020651.2" "AC104809.2" "LINC02085" 
## [51] "LINC02432"  "CHST15"     "FMNL2"      "MS4A7"      "SLC11A1"   
## [56] "TMTC1"      "LILRB2"     "CSF1R"      "PECAM1"     "SPRED1"    
## [61] "SERPINA1"   "ABCC3"      "HIP1"      
## 
## $turquoise
##  [1] "LYN"        "MARCH1"     "BANK1"      "PAX5"       "EBF1"      
##  [6] "FCRL1"      "MS4A1"      "RALGPS2"    "AFF3"       "COL19A1"   
## [11] "OSBPL10"    "LINC00926"  "IGHM"       "BLK"        "COBLL1"    
## [16] "KHDRBS2"    "CDK14"      "ARHGAP24"   "NIBAN3"     "GNG7"      
## [21] "ADAM28"     "RUBCNL"     "CD22"       "WDFY4"      "IGHD"      
## [26] "AP002075.1" "PLEKHG1"    "SETBP1"     "MTSS1"      "JAZF1"     
## [31] "XYLT1"      "AUTS2"      "VAV3"      
## 
## $brown
##  [1] "MKI67"    "DIAPH3"   "RRM2"     "NCAPG"    "ASPM"     "POLQ"    
##  [7] "TOP2A"    "KIF11"    "DTL"      "KNL1"     "KIF15"    "CENPF"   
## [13] "NUSAP1"   "ECT2"     "CIT"      "CENPE"    "ANLN"     "HIST1H1B"
## [19] "BUB1B"    "SPC25"    "STMN1"    "CDCA2"    "KIF14"    "CLSPN"   
## [25] "PCLAF"    "TPX2"     "KIF18B"

Mods in specific cell subsets

It’s somewhat more informative to ask about specific cell types. For example, what are the modules that are within B cells (or B like cells) in the dataset. From the initial annotation, I know cluster 5 and cluster 10 contain the B like cells, so I pass those to subset.

I ended up initially selecting 8 npcs, and 8 softpower by the same criteria above. In this case, that identified only two modules. It’s up to your preference how many you get, but generally speaking 3 is a good objective. You can typically get more modules by reducing the softpower, 1 at a time. These modules will be larger, but the significance should be maintained. You can also decrease the number of npcs but this is unlikely to impact the module recovery at higher softpowers. To demo, there are also corresponding plots for softpower 7, (npcs 8) and softpower 8 (npcs 5)

mods<-ModID(results, cluster = c(5,10), nPCS = 8, softpower = 8)
## PC_ 1 
## Positive:  BCL11B, PRKCH, PRKCQ, ITK, INPP4B, CD247, CAMK4, RORA, TC2N, FYB1 
##     SLCO3A1, PRKCA, TNIK, THEMIS, SLFN12L, GPRIN3, IL7R, AAK1, NELL2, TRERF1 
## Negative:  AFF3, BACH2, COL19A1, AUTS2, PRKCE, KHDRBS2, CCSER1, CAMK2D, FOXP1, LIX1-AS1 
##     CD83, STEAP1B, SNX9, ST6GALNAC3, MYO1E, IL4R, HDAC9, PTPRK, EIF2AK3, AP001636.3 
## PC_ 2 
## Positive:  FOXP1, BACH2, DPYD, AUTS2, CAMK2D, SKAP1, LIX1-AS1, COL19A1, IL4R, XYLT1 
##     PRKCE, KHDRBS2, CCSER1, INPP4B, LEF1, ITK, BCL11B, FYB1, AFF3, SORL1 
## Negative:  SSPN, COL4A4, AL355076.2, TFEC, AC008691.1, TEX9, HIPK2, ITGB1, COCH, TOX 
##     CRIP1, IGHA1, GRAMD1C, AC025569.1, SNED1, C12orf74, LINC02324, VOPP1, ANK3, FAM49A 
## PC_ 3 
## Positive:  CDK14, EBF1, AFF3, HDAC9, TCF4, MTSS1, RABGAP1L, CAMK2D, ADK, ARHGAP24 
##     ZEB2, PRKCE, DIPK1A, MARCH3, PTPRK, KYNU, AUTS2, IMMP2L, KCNQ5, FUT8 
## Negative:  MTRNR2L8, JUN, FOSB, IGKC, FOS, TEX14, BCL11B, AC105402.3, FYB1, IER2 
##     INPP4B, ITK, IL7R, PRKCH, PRKCQ, THEMIS, CD247, CROCC, EGR1, TC2N 
## PC_ 4 
## Positive:  SOX5, GPR137B, ZNF331, ZEB2, MAP4K3, CBLB, NR4A3, ENC1, ITGAX, TUBB6 
##     HSPB1, FCRL5, DGKG, TFEC, ATXN1, ANK2, AC092546.1, GAS7, SMOC2, PCDH9 
## Negative:  IFNG-AS1, PDE4D, TEX9, COCH, LYPLAL1, GRAMD1C, HIPK2, CR1, EPHA4, AC022182.1 
##     LINC01811, CASK, MAML2, SSPN, PALM2-AKAP2, TCF7L1, AL589693.1, TSHZ2, PIK3R5, AL355076.2 
## PC_ 5 
## Positive:  NR3C2, NETO1, ARHGAP24, LARGE1, SYN3, SLC38A11, PRKN, AKAP6, STEAP1B, ANK3 
##     CEMIP2, IGF1R, ZBTB16, RGS7, JADE3, WWOX, BCL2, UACA, PALM2-AKAP2, MEF2C-AS1 
## Negative:  MME, ADAM23, ROR1, LINC01505, TCF4, HRK, TTN, CDK6, CSGALNACT1, PTPRJ 
##     MAML3, RAPGEF5, CD38, CBLB, IKZF2, TTC28, MIR181A1HG, AL589693.1, AL139020.1, WASF1 
##    Power SFT.R.sq  slope truncated.R.sq  mean.k. median.k.   max.k.
## 1      1 0.032400  6.920          0.733 123.0000  1.23e+02 129.0000
## 2      2 0.000309  0.328          0.625  63.3000  6.28e+01  70.3000
## 3      3 0.039500 -2.390          0.646  32.8000  3.23e+01  39.2000
## 4      4 0.103000 -2.770          0.582  17.1000  1.67e+01  22.6000
## 5      5 0.430000 -4.230          0.553   9.0000  8.64e+00  13.4000
## 6      6 0.603000 -3.810          0.650   4.7800  4.52e+00   8.1500
## 7      7 0.712000 -3.810          0.638   2.5700  2.37e+00   5.1200
## 8      8 0.915000 -3.530          0.894   1.4000  1.26e+00   3.3000
## 9      9 0.310000 -7.140          0.165   0.7720  6.72e-01   2.1800
## 10    10 0.971000 -3.000          0.966   0.4320  3.59e-01   1.4700
## 11    12 0.935000 -2.510          0.921   0.1420  1.05e-01   0.7030
## 12    14 0.901000 -2.100          0.877   0.0496  3.15e-02   0.3540
## 13    16 0.271000 -3.230          0.078   0.0187  9.72e-03   0.1840
## 14    18 0.300000 -2.980          0.174   0.0075  3.19e-03   0.0985
## 15    20 0.286000 -3.510          0.130   0.0032  1.03e-03   0.0535

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##   0   1   2   3 
## 205  15  13  10

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 4 module eigengenes in given set.
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 3 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 3 module eigengenes in given set.

## $blue
##  [1] "BCL11B"     "PRKCH"      "PRKCQ"      "ITK"        "INPP4B"    
##  [6] "CD247"      "CAMK4"      "RORA"       "TC2N"       "FYB1"      
## [11] "SLCO3A1"    "PRKCA"      "TNIK"       "THEMIS"     "SLFN12L"   
## [16] "GPRIN3"     "IL7R"       "AAK1"       "NELL2"      "CD28"      
## [21] "LEF1"       "CD6"        "PRKCQ-AS1"  "ICOS"       "RNF157"    
## [26] "RASGRF2"    "ITGA6"      "AC139720.1"
## 
## $brown
##  [1] "AFF3"       "BACH2"      "COL19A1"    "AUTS2"      "PRKCE"     
##  [6] "KHDRBS2"    "CAMK2D"     "FOXP1"      "LIX1-AS1"   "ST6GALNAC3"
## 
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## $blue
##  [1] "BCL11B"     "PRKCH"      "PRKCQ"      "ITK"        "INPP4B"    
##  [6] "CD247"      "CAMK4"      "RORA"       "TC2N"       "FYB1"      
## [11] "SLCO3A1"    "PRKCA"      "TNIK"       "THEMIS"     "SLFN12L"   
## [16] "GPRIN3"     "IL7R"       "AAK1"       "NELL2"      "CD28"      
## [21] "LEF1"       "CD6"        "PRKCQ-AS1"  "ICOS"       "RNF157"    
## [26] "RASGRF2"    "ITGA6"      "AC139720.1"
## 
## $brown
##  [1] "AFF3"       "BACH2"      "COL19A1"    "AUTS2"      "PRKCE"     
##  [6] "KHDRBS2"    "CAMK2D"     "FOXP1"      "LIX1-AS1"   "ST6GALNAC3"
mods<-ModID(results, cluster = c(5,10), nPCS = 8, softpower = 7)
## PC_ 1 
## Positive:  BCL11B, PRKCH, PRKCQ, ITK, INPP4B, CD247, CAMK4, RORA, TC2N, FYB1 
##     SLCO3A1, PRKCA, TNIK, THEMIS, SLFN12L, GPRIN3, IL7R, AAK1, NELL2, TRERF1 
## Negative:  AFF3, BACH2, COL19A1, AUTS2, PRKCE, KHDRBS2, CCSER1, CAMK2D, FOXP1, LIX1-AS1 
##     CD83, STEAP1B, SNX9, ST6GALNAC3, MYO1E, IL4R, HDAC9, PTPRK, EIF2AK3, AP001636.3 
## PC_ 2 
## Positive:  FOXP1, BACH2, DPYD, AUTS2, CAMK2D, SKAP1, LIX1-AS1, COL19A1, IL4R, XYLT1 
##     PRKCE, KHDRBS2, CCSER1, INPP4B, LEF1, ITK, BCL11B, FYB1, AFF3, SORL1 
## Negative:  SSPN, COL4A4, AL355076.2, TFEC, AC008691.1, TEX9, HIPK2, ITGB1, COCH, TOX 
##     CRIP1, IGHA1, GRAMD1C, AC025569.1, SNED1, C12orf74, LINC02324, VOPP1, ANK3, FAM49A 
## PC_ 3 
## Positive:  CDK14, EBF1, AFF3, HDAC9, TCF4, MTSS1, RABGAP1L, CAMK2D, ADK, ARHGAP24 
##     ZEB2, PRKCE, DIPK1A, MARCH3, PTPRK, KYNU, AUTS2, IMMP2L, KCNQ5, FUT8 
## Negative:  MTRNR2L8, JUN, FOSB, IGKC, FOS, TEX14, BCL11B, AC105402.3, FYB1, IER2 
##     INPP4B, ITK, IL7R, PRKCH, PRKCQ, THEMIS, CD247, CROCC, EGR1, TC2N 
## PC_ 4 
## Positive:  SOX5, GPR137B, ZNF331, ZEB2, MAP4K3, CBLB, NR4A3, ENC1, ITGAX, TUBB6 
##     HSPB1, FCRL5, DGKG, TFEC, ATXN1, ANK2, AC092546.1, GAS7, SMOC2, PCDH9 
## Negative:  IFNG-AS1, PDE4D, TEX9, COCH, LYPLAL1, GRAMD1C, HIPK2, CR1, EPHA4, AC022182.1 
##     LINC01811, CASK, MAML2, SSPN, PALM2-AKAP2, TCF7L1, AL589693.1, TSHZ2, PIK3R5, AL355076.2 
## PC_ 5 
## Positive:  NR3C2, NETO1, ARHGAP24, LARGE1, SYN3, SLC38A11, PRKN, AKAP6, STEAP1B, ANK3 
##     CEMIP2, IGF1R, ZBTB16, RGS7, JADE3, WWOX, BCL2, UACA, PALM2-AKAP2, MEF2C-AS1 
## Negative:  MME, ADAM23, ROR1, LINC01505, TCF4, HRK, TTN, CDK6, CSGALNACT1, PTPRJ 
##     MAML3, RAPGEF5, CD38, CBLB, IKZF2, TTC28, MIR181A1HG, AL589693.1, AL139020.1, WASF1 
##    Power SFT.R.sq  slope truncated.R.sq  mean.k. median.k.   max.k.
## 1      1 0.032400  6.920          0.733 123.0000  1.23e+02 129.0000
## 2      2 0.000309  0.328          0.625  63.3000  6.28e+01  70.3000
## 3      3 0.039500 -2.390          0.646  32.8000  3.23e+01  39.2000
## 4      4 0.103000 -2.770          0.582  17.1000  1.67e+01  22.6000
## 5      5 0.430000 -4.230          0.553   9.0000  8.64e+00  13.4000
## 6      6 0.603000 -3.810          0.650   4.7800  4.52e+00   8.1500
## 7      7 0.712000 -3.810          0.638   2.5700  2.37e+00   5.1200
## 8      8 0.915000 -3.530          0.894   1.4000  1.26e+00   3.3000
## 9      9 0.310000 -7.140          0.165   0.7720  6.72e-01   2.1800
## 10    10 0.971000 -3.000          0.966   0.4320  3.59e-01   1.4700
## 11    12 0.935000 -2.510          0.921   0.1420  1.05e-01   0.7030
## 12    14 0.901000 -2.100          0.877   0.0496  3.15e-02   0.3540
## 13    16 0.271000 -3.230          0.078   0.0187  9.72e-03   0.1840
## 14    18 0.300000 -2.980          0.174   0.0075  3.19e-03   0.0985
## 15    20 0.286000 -3.510          0.130   0.0032  1.03e-03   0.0535

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##   0   1   2   3   4 
## 175  33  13  12  10

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 5 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 5 module eigengenes in given set.

## $turquoise
##  [1] "BCL11B"     "PRKCH"      "PRKCQ"      "ITK"        "INPP4B"    
##  [6] "CD247"      "CAMK4"      "RORA"       "TC2N"       "FYB1"      
## [11] "SLCO3A1"    "PRKCA"      "TNIK"       "THEMIS"     "SLFN12L"   
## [16] "GPRIN3"     "IL7R"       "AAK1"       "NELL2"      "CD28"      
## [21] "MGAT4A"     "LEF1"       "CD6"        "PRKCQ-AS1"  "ICOS"      
## [26] "SERINC5"    "RNF157"     "SLC22A23"   "RASGRF2"    "ITGA6"     
## [31] "CMTM8"      "WNT7A"      "AC139720.1"
## 
## $blue
##  [1] "AFF3"       "BACH2"      "COL19A1"    "AUTS2"      "PRKCE"     
##  [6] "KHDRBS2"    "CAMK2D"     "FOXP1"      "LIX1-AS1"   "ST6GALNAC3"
## [11] "LARGE1"     "SYN3"       "ZBTB16"    
## 
## $brown
##  [1] "SSPN"     "COL4A4"   "TEX9"     "HIPK2"    "ITGB1"    "COCH"    
##  [7] "TOX"      "GRAMD1C"  "C12orf74" "TBXAS1"   "KYNU"     "EPHA4"   
## 
## $yellow
##  [1] "JUN"        "FOSB"       "FOS"        "TEX14"      "IER2"      
##  [6] "CROCC"      "EGR1"       "EIF4A3"     "KLF4"       "AC022217.3"
## 
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "1/10000 permutations failed the Mann-Whitney test."
## $turquoise
##  [1] "BCL11B"     "PRKCH"      "PRKCQ"      "ITK"        "INPP4B"    
##  [6] "CD247"      "CAMK4"      "RORA"       "TC2N"       "FYB1"      
## [11] "SLCO3A1"    "PRKCA"      "TNIK"       "THEMIS"     "SLFN12L"   
## [16] "GPRIN3"     "IL7R"       "AAK1"       "NELL2"      "CD28"      
## [21] "MGAT4A"     "LEF1"       "CD6"        "PRKCQ-AS1"  "ICOS"      
## [26] "SERINC5"    "RNF157"     "SLC22A23"   "RASGRF2"    "ITGA6"     
## [31] "CMTM8"      "WNT7A"      "AC139720.1"
## 
## $blue
##  [1] "AFF3"       "BACH2"      "COL19A1"    "AUTS2"      "PRKCE"     
##  [6] "KHDRBS2"    "CAMK2D"     "FOXP1"      "LIX1-AS1"   "ST6GALNAC3"
## [11] "LARGE1"     "SYN3"       "ZBTB16"    
## 
## $brown
##  [1] "SSPN"     "COL4A4"   "TEX9"     "HIPK2"    "ITGB1"    "COCH"    
##  [7] "TOX"      "GRAMD1C"  "C12orf74" "TBXAS1"   "KYNU"     "EPHA4"   
## 
## $yellow
##  [1] "JUN"        "FOSB"       "FOS"        "TEX14"      "IER2"      
##  [6] "CROCC"      "EGR1"       "EIF4A3"     "KLF4"       "AC022217.3"
mods<-ModID(results, cluster = c(5,10), nPCS = 5, softpower = 8)
## PC_ 1 
## Positive:  BCL11B, PRKCH, PRKCQ, ITK, INPP4B, CD247, CAMK4, RORA, TC2N, FYB1 
##     SLCO3A1, PRKCA, TNIK, THEMIS, SLFN12L, GPRIN3, IL7R, AAK1, NELL2, TRERF1 
## Negative:  AFF3, BACH2, COL19A1, AUTS2, PRKCE, KHDRBS2, CCSER1, CAMK2D, FOXP1, LIX1-AS1 
##     CD83, STEAP1B, SNX9, ST6GALNAC3, MYO1E, IL4R, HDAC9, PTPRK, EIF2AK3, AP001636.3 
## PC_ 2 
## Positive:  FOXP1, BACH2, DPYD, AUTS2, CAMK2D, SKAP1, LIX1-AS1, COL19A1, IL4R, XYLT1 
##     PRKCE, KHDRBS2, CCSER1, INPP4B, LEF1, ITK, BCL11B, FYB1, AFF3, SORL1 
## Negative:  SSPN, COL4A4, AL355076.2, TFEC, AC008691.1, TEX9, HIPK2, ITGB1, COCH, TOX 
##     CRIP1, IGHA1, GRAMD1C, AC025569.1, SNED1, C12orf74, LINC02324, VOPP1, ANK3, FAM49A 
## PC_ 3 
## Positive:  CDK14, EBF1, AFF3, HDAC9, TCF4, MTSS1, RABGAP1L, CAMK2D, ADK, ARHGAP24 
##     ZEB2, PRKCE, DIPK1A, MARCH3, PTPRK, KYNU, AUTS2, IMMP2L, KCNQ5, FUT8 
## Negative:  MTRNR2L8, JUN, FOSB, IGKC, FOS, TEX14, BCL11B, AC105402.3, FYB1, IER2 
##     INPP4B, ITK, IL7R, PRKCH, PRKCQ, THEMIS, CD247, CROCC, EGR1, TC2N 
## PC_ 4 
## Positive:  SOX5, GPR137B, ZNF331, ZEB2, MAP4K3, CBLB, NR4A3, ENC1, ITGAX, TUBB6 
##     HSPB1, FCRL5, DGKG, TFEC, ATXN1, ANK2, AC092546.1, GAS7, SMOC2, PCDH9 
## Negative:  IFNG-AS1, PDE4D, TEX9, COCH, LYPLAL1, GRAMD1C, HIPK2, CR1, EPHA4, AC022182.1 
##     LINC01811, CASK, MAML2, SSPN, PALM2-AKAP2, TCF7L1, AL589693.1, TSHZ2, PIK3R5, AL355076.2 
## PC_ 5 
## Positive:  NR3C2, NETO1, ARHGAP24, LARGE1, SYN3, SLC38A11, PRKN, AKAP6, STEAP1B, ANK3 
##     CEMIP2, IGF1R, ZBTB16, RGS7, JADE3, WWOX, BCL2, UACA, PALM2-AKAP2, MEF2C-AS1 
## Negative:  MME, ADAM23, ROR1, LINC01505, TCF4, HRK, TTN, CDK6, CSGALNACT1, PTPRJ 
##     MAML3, RAPGEF5, CD38, CBLB, IKZF2, TTC28, MIR181A1HG, AL589693.1, AL139020.1, WASF1 
##    Power SFT.R.sq  slope truncated.R.sq  mean.k. median.k.  max.k.
## 1      1  0.20200 23.700          0.637 94.30000  9.41e+01 97.6000
## 2      2  0.30200 13.000          0.628 48.50000  4.82e+01 52.2000
## 3      3  0.05980  3.150          0.686 25.20000  2.49e+01 28.9000
## 4      4  0.00844 -0.749          0.821 13.20000  1.29e+01 16.6000
## 5      5  0.07350 -1.640          0.762  7.00000  6.77e+00  9.8400
## 6      6  0.23300 -2.260          0.684  3.76000  3.57e+00  6.0600
## 7      7  0.47600 -2.610          0.665  2.05000  1.90e+00  3.8600
## 8      8  0.78600 -3.030          0.869  1.13000  1.01e+00  2.5400
## 9      9  0.87500 -2.950          0.888  0.63400  5.47e-01  1.7100
## 10    10  0.95100 -2.730          0.953  0.36200  2.96e-01  1.1800
## 11    12  0.93100 -2.350          0.912  0.12400  8.93e-02  0.5920
## 12    14  0.29500 -3.850          0.152  0.04600  2.78e-02  0.3100
## 13    16  0.29600 -3.300          0.172  0.01830  8.87e-03  0.1670
## 14    18  0.28700 -2.900          0.170  0.00773  2.89e-03  0.0912
## 15    20  0.27600 -3.410          0.128  0.00346  9.78e-04  0.0505

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##   0   1   2 
## 161  15  10

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 3 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 3 module eigengenes in given set.

## $turquoise
##  [1] "BCL11B" "PRKCH"  "PRKCQ"  "ITK"    "INPP4B" "CD247"  "CAMK4"  "TC2N"  
##  [9] "FYB1"   "PRKCA"  "IL7R"   "AAK1"   "CD28"   "LEF1"   "CD6"   
## 
## $blue
##  [1] "AFF3"       "BACH2"      "COL19A1"    "AUTS2"      "PRKCE"     
##  [6] "KHDRBS2"    "CAMK2D"     "FOXP1"      "LIX1-AS1"   "ST6GALNAC3"
## 
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## $turquoise
##  [1] "BCL11B" "PRKCH"  "PRKCQ"  "ITK"    "INPP4B" "CD247"  "CAMK4"  "TC2N"  
##  [9] "FYB1"   "PRKCA"  "IL7R"   "AAK1"   "CD28"   "LEF1"   "CD6"   
## 
## $blue
##  [1] "AFF3"       "BACH2"      "COL19A1"    "AUTS2"      "PRKCE"     
##  [6] "KHDRBS2"    "CAMK2D"     "FOXP1"      "LIX1-AS1"   "ST6GALNAC3"

Module identification across individuals

In some cases it is desirable to detect the modules across individuals because individual to individual variability may drive interesting variation. In this case, we look at some CD4 clusters across individuals. When getting to these more targetted questions, we need to be careful to ensure there are “enough” cells to make inferences. Anecdotally, this is around ~50 cells, which can be limiting in rare populations or subsets.

We could do this one by one, but I tend to use the WrapGroupModID function, grabbing the clusters associated with Memory CD4s in the previous annotation - Clusters 1:4

Each participant will get a separate softpower and npcs. This is fine, but you should investigate any large discrepancies. Npcs besides 3-10 or softpowers outside of +/-2 the mean are odd. For reproducibility, these are all captured here.

Practically speaking, softpowers >9 rarely result in usable modules. If a softpower peaks above 0.8 at softpower >9, I generally select the softpower with the greatest coefficient <9.

Participant NPCs Softpower Mods notes * 5018 6 6 6 * 5014 8 7 5
* 5017 6 5 5 * 5023 5 4 5 note: Softpower resulted in nothing close to 0.8 * 5009 5 8 3 * 5021 5 9 2 note: Softpower resulted in nothing close to 0.8 * 5037 6 9 0 note: Softpower resulted in nothing close to 0.8 * 5003 3 9 0 * 5016 6 8 3 * 5020 6 8 2 * 5035 6 7 3 * 5026 6 5 4

In this case the mean softpower is 6, so the 9 softpowers are outisde the expected range. It might suggest another round should be run.

This will result in a list of modules, 1 per Seurat object in the list. In this case, there are a total of 38 modules across 10 individuals. This is sort of unwieldy because annotating them at that point will be difficult. In my experience, there is usually also high redundancy between modules. I usually take strategies to then merge the mods.

In the Immunity paper, we used MergeMods which performs heirarchical clustering on the module overlap to merge into a particular set that is a union of all modules.

A second method, programmed below, can instead try to identify “core” modules based on coocurrance of genes across modules.

First method, ended up with a cut of 1.5 - resulting in 9 mods

conds<-cbind(c(6,8,6,5,5,5,6,3,6,6,6,6),c(6,7,5,4,8,9,9,9,8,8,7,5))
results_participant_split<-SplitObject(results, split.by = "Participant")
mods<-WarpGroupModID(results_participant_split, c(1,2,3,4), conds=conds)
## [1] "5018"
## PC_ 1 
## Positive:  ZEB2, AC105402.3, AOAH, GNLY, NKG7, CCL5, BANK1, RPL41, AFF3, RPL13 
##     SETBP1, GZMH, AC243829.2, RPLP2, RPL28, IGKC, C1orf21, ACTB, RPS19, RPS2 
## Negative:  SERINC5, INPP4B, PAG1, ANK3, CAMK4, ARHGAP15, CASK, CDC14A, HIVEP2, MDFIC 
##     LEF1, DOCK10, ADAM19, PRKCA, RASGRF2, AKT3, PCAT1, MAML2, FAAH2, TNFAIP8 
## PC_ 2 
## Positive:  RPL13, LTB, RPLP2, TSHZ2, LEF1, RPL41, EEF1A1, PRKCA, FHIT, RPL28 
##     AL589693.1, PLCL1, TXK, AC105402.3, AFF3, SESN3, MAP3K1, RPS2, BANK1, RPS19 
## Negative:  TGFBR3, C1orf21, PPP2R2B, AOAH, PDGFD, NCALD, ZEB2, PARP8, AC243829.2, MYBL1 
##     ADGRG5, THEMIS, AGAP1, SYTL2, DTHD1, A2M, PZP, LINC02384, HIVEP3, GTDC1 
## PC_ 3 
## Positive:  EEF1A1, RPL28, RPS19, RPS2, LTB, RPL13, RPLP2, PFN1, B2M, RPL41 
##     ACTG1, ADAM12, RORA, ITGB1, CFL1, ACTB, PTPN13, LINC00299, IL18R1, GZMH 
## Negative:  AFF3, BANK1, UBE2E2, CDK14, VCAN, BACH2, AC105402.3, HDAC9, TRIO, ZEB2 
##     BMP2K, CCSER1, SETBP1, VAV3, KCNQ5, LARGE1, TCF7L2, MTSS1, ZSWIM6, AOAH 
## PC_ 4 
## Positive:  PLCB1, BACH2, RPS2, RPS19, RPL41, RPL13, RPL28, SBF2, RPLP2, B2M 
##     EEF1A1, NR3C2, DPP4, PDE4D, ACTB, ANTXR2, AC105402.3, BANK1, A2M, PFN1 
## Negative:  TOX, TSHZ2, ST8SIA1, CDHR3, SGPP2, TTN, IKZF2, RBMS3, AL353660.1, KIAA1671 
##     GCNT4, F5, LINC01727, PVT1, LDLRAD4, CCDC141, ABLIM1, AC093865.1, SLC9A9, UBASH3B 
## PC_ 5 
## Positive:  IFNG-AS1, ITGA4, NELL2, LINC01934, ANK3, ST8SIA1, DOCK10, TPRG1, MIR31HG, LRIG1 
##     PCAT1, BTBD11, RASGRF2, MAML2, BICDL1, AF165147.1, DISC1, PCED1B, PARP8, AC053513.1 
## Negative:  ADAM12, PTPN13, MCF2L2, FRY, AL589693.1, COL5A3, PLD1, CCR6, PDE4D, RUNX2 
##     CEP112, AL136456.1, CYTH3, ZC2HC1A, AGPAT4, NTN4, ANK1, HLF, MSC-AS1, SASH1 
##    Power SFT.R.sq   slope truncated.R.sq  mean.k. median.k.  max.k.
## 1      1   0.1650  11.400         0.9110 88.40000  88.40000 92.5000
## 2      2   0.0022  -0.713         0.5240 45.30000  45.10000 50.1000
## 3      3   0.4010  -7.450         0.4980 23.40000  23.10000 27.8000
## 4      4   0.5930  -6.940         0.5350 12.30000  11.90000 15.8000
## 5      5   0.1720 -14.600        -0.0646  6.47000   6.23000  9.1800
## 6      6   0.8130  -5.330         0.7620  3.46000   3.28000  5.4600
## 7      7   0.8290  -4.530         0.7800  1.87000   1.75000  3.3000
## 8      8   0.7220  -4.080         0.6470  1.02000   0.93400  2.0300
## 9      9   0.8350  -3.480         0.7920  0.56700   0.50400  1.2600
## 10    10   0.9020  -2.940         0.8780  0.31800   0.27100  0.7950
## 11    12   0.9340  -2.260         0.9170  0.10500   0.08290  0.3240
## 12    14   0.9460  -1.780         0.9330  0.03680   0.02720  0.1360
## 13    16   0.8910  -1.660         0.8600  0.01380   0.00922  0.0671
## 14    18   0.9170  -1.530         0.8970  0.00547   0.00315  0.0357
## 15    20   0.9310  -1.470         0.9110  0.00230   0.00105  0.0193

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##  0  1  2  3  4  5  6  7  8 
## 40 29 21 18 16 15 13 13 10

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 9 module eigengenes in given set.
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 7 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 7 module eigengenes in given set.
## $yellow
##  [1] "ZEB2"       "AOAH"       "SETBP1"     "AC243829.2" "C1orf21"   
##  [6] "PDGFD"      "TGFBR3"     "PPP2R2B"    "ADGRG5"     "AGAP1"     
## [11] "LINC02384"  "HIVEP3"     "ARHGAP10"   "VAV3"       "JAZF1"     
## [16] "KIAA1671"  
## 
## $black
##  [1] "AC105402.3" "BANK1"      "AFF3"       "IGKC"       "VCAN"      
##  [6] "HDAC9"      "CDK14"      "BACH2"      "UBE2E2"     "TRIO"      
## [11] "BMP2K"      "CCSER1"     "LARGE1"    
## 
## $green
##  [1] "RPL41"  "RPL13"  "RPLP2"  "RPL28"  "ACTB"   "RPS19"  "RPS2"   "B2M"   
##  [9] "LTB"    "EEF1A1" "PFN1"   "ACTG1"  "CFL1"   "GAPDH"  "TRBC1" 
## 
## $brown
##  [1] "SERINC5"    "INPP4B"     "PAG1"       "ANK3"       "CAMK4"     
##  [6] "ARHGAP15"   "CASK"       "CDC14A"     "HIVEP2"     "MDFIC"     
## [11] "LEF1"       "DOCK10"     "ADAM19"     "PRKCA"      "RASGRF2"   
## [16] "AKT3"       "PCAT1"      "MAML2"      "FAAH2"      "TNFAIP8"   
## [21] "PVT1"       "GNAQ"       "NR3C2"      "MAP3K1"     "FMN1"      
## [26] "TSHZ2"      "FHIT"       "PLCL1"      "TXK"        "SESN3"     
## [31] "CMTM8"      "PARP8"      "THEMIS"     "RORA"       "ITGB1"     
## [36] "ST8SIA1"    "CDHR3"      "SGPP2"      "TTN"        "AL353660.1"
## [41] "GCNT4"      "F5"         "LINC01727"  "LDLRAD4"    "CCDC141"   
## [46] "ABLIM1"     "SLC9A9"     "UBASH3B"    "BICDL1"     "PHEX"      
## [51] "GLCCI1"     "ITGA4"      "NELL2"      "LINC01934"  "DISC1"     
## [56] "PCED1B"     "MLLT3"     
## 
## $red
##  [1] "AL589693.1" "ADAM12"     "PTPN13"     "MCF2L2"     "CCR6"      
##  [6] "FRY"        "COL5A3"     "PLD1"       "RUNX2"      "CEP112"    
## [11] "AL136456.1" "CYTH3"      "HLF"       
## 
## $blue
##  [1] "NCALD"      "MYBL1"      "SYTL2"      "AF165147.1" "LINC00299" 
##  [6] "IL18R1"     "PLCB1"      "DPP4"       "ANTXR2"     "RBMS1"     
## [11] "IFNG-AS1"   "TPRG1"      "LRIG1"      "BTBD11"     "IL18RAP"   
## [16] "IL12RB2"    "COLQ"       "PDE4B"      "RNF157"     "MB21D2"    
## [21] "NIBAN1"    
## 
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "4/10000 permutations failed the Mann-Whitney test."
## $yellow
##  [1] "ZEB2"       "AOAH"       "SETBP1"     "AC243829.2" "C1orf21"   
##  [6] "PDGFD"      "TGFBR3"     "PPP2R2B"    "ADGRG5"     "AGAP1"     
## [11] "LINC02384"  "HIVEP3"     "ARHGAP10"   "VAV3"       "JAZF1"     
## [16] "KIAA1671"  
## 
## $black
##  [1] "AC105402.3" "BANK1"      "AFF3"       "IGKC"       "VCAN"      
##  [6] "HDAC9"      "CDK14"      "BACH2"      "UBE2E2"     "TRIO"      
## [11] "BMP2K"      "CCSER1"     "LARGE1"    
## 
## $green
##  [1] "RPL41"  "RPL13"  "RPLP2"  "RPL28"  "ACTB"   "RPS19"  "RPS2"   "B2M"   
##  [9] "LTB"    "EEF1A1" "PFN1"   "ACTG1"  "CFL1"   "GAPDH"  "TRBC1" 
## 
## $brown
##  [1] "SERINC5"    "INPP4B"     "PAG1"       "ANK3"       "CAMK4"     
##  [6] "ARHGAP15"   "CASK"       "CDC14A"     "HIVEP2"     "MDFIC"     
## [11] "LEF1"       "DOCK10"     "ADAM19"     "PRKCA"      "RASGRF2"   
## [16] "AKT3"       "PCAT1"      "MAML2"      "FAAH2"      "TNFAIP8"   
## [21] "PVT1"       "GNAQ"       "NR3C2"      "MAP3K1"     "FMN1"      
## [26] "TSHZ2"      "FHIT"       "PLCL1"      "TXK"        "SESN3"     
## [31] "CMTM8"      "PARP8"      "THEMIS"     "RORA"       "ITGB1"     
## [36] "ST8SIA1"    "CDHR3"      "SGPP2"      "TTN"        "AL353660.1"
## [41] "GCNT4"      "F5"         "LINC01727"  "LDLRAD4"    "CCDC141"   
## [46] "ABLIM1"     "SLC9A9"     "UBASH3B"    "BICDL1"     "PHEX"      
## [51] "GLCCI1"     "ITGA4"      "NELL2"      "LINC01934"  "DISC1"     
## [56] "PCED1B"     "MLLT3"     
## 
## $red
##  [1] "AL589693.1" "ADAM12"     "PTPN13"     "MCF2L2"     "CCR6"      
##  [6] "FRY"        "COL5A3"     "PLD1"       "RUNX2"      "CEP112"    
## [11] "AL136456.1" "CYTH3"      "HLF"       
## 
## $blue
##  [1] "NCALD"      "MYBL1"      "SYTL2"      "AF165147.1" "LINC00299" 
##  [6] "IL18R1"     "PLCB1"      "DPP4"       "ANTXR2"     "RBMS1"     
## [11] "IFNG-AS1"   "TPRG1"      "LRIG1"      "BTBD11"     "IL18RAP"   
## [16] "IL12RB2"    "COLQ"       "PDE4B"      "RNF157"     "MB21D2"    
## [21] "NIBAN1"    
## 
## [1] "5014"
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : pseudoinverse used at -2.9042
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : neighborhood radius 0.30103
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : reciprocal condition number 1.7215e-15

## PC_ 1 
## Positive:  ARHGAP15, ANK3, LINC01619, INPP4B, PAG1, FOXP1, CAMK4, CDC14A, DPYD, CELF2 
##     RORA, ZBTB20, SMCHD1, MGAT5, LRRC8C, GPRIN3, PARP8, FOXO1, SERINC5, CNOT6L 
## Negative:  RPL41, RPS19, RPL13, RPS18, RPLP2, RPLP1, RPL10, NKG7, CCL5, GZMH 
##     JUN, JUNB, GNLY, CRIP1, FGFBP2, CTSW, FOSB, FOS, TRBC1, LINC00910 
## PC_ 2 
## Positive:  ZEB2, TGFBR3, PLCB1, C1orf21, GNLY, SYTL2, NCALD, PPP2R2B, AOAH, AGAP1 
##     LINC00299, MYBL1, NKG7, PARP8, LINC02384, MVB12B, CCL5, SETBP1, AUTS2, PAM 
## Negative:  TSHZ2, PRKCA, LEF1, SERINC5, TXK, SESN3, INPP4B, PLCL1, CMTM8, AL109930.1 
##     AC139720.1, RPLP2, CSGALNACT1, AL353660.1, RPS18, RPL13, PLCG2, CERS6, AC233976.1, NELL2 
## PC_ 3 
## Positive:  IKZF2, TSHZ2, AOAH, AC243829.2, KLRD1, KLRK1, ZEB2, GFOD1, TOX, PIK3AP1 
##     CTBP2, BNC2, KLRC3, VAV3, GNLY, FHIT, C1orf21, JAZF1, PLCL1, AC093865.1 
## Negative:  IFNG-AS1, PLCB1, TNFAIP3, IL12RB2, ANK3, IL18R1, LRIG1, IL18RAP, PARP8, ME1 
##     CASC8, CCR6, RORA, CDC14A, BTBD11, RBMS1, BCL2, SNX9, MYBL1, PTPRM 
## PC_ 4 
## Positive:  TOX, SMCHD1, LINC02694, ITGA4, NIBAN1, ST8SIA1, RNF19A, FKBP5, CENPE, KIAA0825 
##     SLF1, TPRG1, CEMIP2, UBASH3B, DZIP3, SGPP2, SERINC5, C12orf42, LINC01934, CDYL2 
## Negative:  SLC4A10, RPL10, PDE4D, RPLP2, PCSK5, ADAM12, FOS, TLE1, AL136456.1, RPS19 
##     RPL13, RPL41, BACH2, ZBTB16, RPLP1, RPS18, JUN, NCAM1, RUNX2, SBF2 
## PC_ 5 
## Positive:  FOSB, JUN, FOS, JUNB, CROCC, RGS1, TEX14, TNFAIP3, LINC00910, PLCG2 
##     IFNG-AS1, CEMIP2, SLC2A3, NAMPT, AL360012.1, NR3C1, GZMK, RGCC, ADAM28, AL606489.1 
## Negative:  ADAM12, AL589693.1, LINC00299, RORA, AL136456.1, SLC4A10, RUNX2, ATF7IP2, PRKCA, FRY 
##     SCART1, TSHZ2, COLQ, LINC01644, NEAT1, LINC02384, CCR6, HPGD, ADAM23, ZNF516 
##    Power SFT.R.sq  slope truncated.R.sq  mean.k. median.k.  max.k.
## 1      1    0.170  24.30        0.50200 125.0000  1.26e+02 130.000
## 2      2    0.109  -9.95        0.92900  63.9000  6.40e+01  68.700
## 3      3    0.582 -19.40        0.90100  32.8000  3.27e+01  36.900
## 4      4    0.522 -12.80        0.87000  17.0000  1.69e+01  20.100
## 5      5    0.574  -9.89        0.89700   8.8400  8.81e+00  11.100
## 6      6    0.512  -5.00        0.73900   4.6600  4.60e+00   6.200
## 7      7    0.798  -5.71        0.76400   2.4800  2.43e+00   4.130
## 8      8    0.734  -4.71        0.71200   1.3400  1.28e+00   2.960
## 9      9    0.210  -5.86        0.07850   0.7410  6.78e-01   2.240
## 10    10    0.160  -3.99        0.12200   0.4180  3.66e-01   1.770
## 11    12    0.115  -3.23        0.16200   0.1450  1.07e-01   1.200
## 12    14    0.179  -3.06        0.02340   0.0592  3.32e-02   0.869
## 13    16    0.143  -2.63        0.04390   0.0289  1.03e-02   0.643
## 14    18    0.189  -2.54        0.00609   0.0165  3.25e-03   0.483
## 15    20    0.078  -1.48        0.15500   0.0106  1.06e-03   0.364

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##   0   1   2   3   4   5 
## 180  17  17  14  11  10

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 6 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 6 module eigengenes in given set.
## $turquoise
##  [1] "ARHGAP15"  "ANK3"      "LINC01619" "FOXP1"     "CAMK4"     "CELF2"    
##  [7] "RORA"      "SMCHD1"    "MGAT5"     "LRRC8C"    "GPRIN3"    "FOXO1"    
## [13] "FKBP5"     "TNFAIP3"   "SNX9"      "RNF19A"    "PELI1"    
## 
## $brown
##  [1] "INPP4B"     "SERINC5"    "PRKCA"      "LEF1"       "TXK"       
##  [6] "SESN3"      "CMTM8"      "AC139720.1" "CSGALNACT1" "AL353660.1"
## [11] "AC233976.1" "FAAH2"      "GNAQ"       "UBASH3B"   
## 
## $green
##  [1] "RPL41" "RPS19" "RPL13" "RPS18" "RPLP2" "RPLP1" "RPL10" "CRIP1" "TRBC1"
## [10] "PLCG2"
## 
## $yellow
##  [1] "NKG7"       "CCL5"       "GZMH"       "GNLY"       "FGFBP2"    
##  [6] "CTSW"       "GZMB"       "KLRD1"      "KLRF1"      "AC243829.2"
## [11] "PIK3AP1"   
## 
## $blue
##  [1] "XACT"       "AC078778.1" "MERTK"      "CASC15"     "ITGA9-AS1" 
##  [6] "MYB"        "HMGA2"      "SLC24A3"    "ST3GAL6"    "UGGT2"     
## [11] "THSD7A"     "THRB"       "LNCAROD"    "RNF217-AS1" "EMID1"     
## [16] "ITGA9"      "BACE2"     
## 
## [1] "1/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "12/10000 permutations failed the Mann-Whitney test."
## $turquoise
##  [1] "ARHGAP15"  "ANK3"      "LINC01619" "FOXP1"     "CAMK4"     "CELF2"    
##  [7] "RORA"      "SMCHD1"    "MGAT5"     "LRRC8C"    "GPRIN3"    "FOXO1"    
## [13] "FKBP5"     "TNFAIP3"   "SNX9"      "RNF19A"    "PELI1"    
## 
## $brown
##  [1] "INPP4B"     "SERINC5"    "PRKCA"      "LEF1"       "TXK"       
##  [6] "SESN3"      "CMTM8"      "AC139720.1" "CSGALNACT1" "AL353660.1"
## [11] "AC233976.1" "FAAH2"      "GNAQ"       "UBASH3B"   
## 
## $green
##  [1] "RPL41" "RPS19" "RPL13" "RPS18" "RPLP2" "RPLP1" "RPL10" "CRIP1" "TRBC1"
## [10] "PLCG2"
## 
## $yellow
##  [1] "NKG7"       "CCL5"       "GZMH"       "GNLY"       "FGFBP2"    
##  [6] "CTSW"       "GZMB"       "KLRD1"      "KLRF1"      "AC243829.2"
## [11] "PIK3AP1"   
## 
## $blue
##  [1] "XACT"       "AC078778.1" "MERTK"      "CASC15"     "ITGA9-AS1" 
##  [6] "MYB"        "HMGA2"      "SLC24A3"    "ST3GAL6"    "UGGT2"     
## [11] "THSD7A"     "THRB"       "LNCAROD"    "RNF217-AS1" "EMID1"     
## [16] "ITGA9"      "BACE2"     
## 
## [1] "5017"
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : pseudoinverse used at -2.6464
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : neighborhood radius 0.30103
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : reciprocal condition number 5.8576e-16

## PC_ 1 
## Positive:  ANK3, INPP4B, ARHGAP15, PAG1, CAMK4, ADAM19, FOXP1, SMCHD1, FMN1, PHACTR2 
##     PATJ, ZEB1, ETV6, TC2N, ANKRD44, GNAQ, BCL2, PDE7A, CASK, SOS1 
## Negative:  NKG7, GNLY, CCL5, KLRD1, PRF1, GZMH, GZMB, KLRK1, GZMA, ZEB2 
##     CST7, FGFBP2, AC243829.2, KLRF1, KLRC2, B2M, CD8A, IKZF2, KLRC3, TRGC2 
## PC_ 2 
## Positive:  ZEB2, AOAH, PPP2R2B, CCL5, NKG7, GNLY, ARHGAP26, MCTP2, C1orf21, PARP8 
##     KLRD1, TGFBR3, PRF1, STAT4, DTHD1, KLRK1, NCALD, TRG-AS1, GAB3, GZMH 
## Negative:  FHIT, AP000787.1, JUNB, B2M, TSHZ2, SESN3, LEF1, PRKCA, AL109930.1, FAM13A 
##     FOS, JUN, SNED1, PLCG2, TEX14, SEMA5A, TIAM1, FOSB, AFF3, RTKN2 
## PC_ 3 
## Positive:  ITGA4, IFNG-AS1, BTBD11, IL12RB2, CYTH1, ST8SIA1, ARAP2, LRIG1, FYN, FKBP5 
##     TRPS1, ASAP1, SMCHD1, PITPNC1, AF165147.1, CBLB, APBA2, NCALD, IL18R1, SIK3 
## Negative:  SEMA5A, FRY, SNED1, GATA3, CSGALNACT1, GAB2, AC005237.1, AP003086.1, EGLN3, LINC00511 
##     PLCG2, TIAM1, RUNX2, MB21D2, ACVR2A, PRKCA, AC013652.1, PI16, B2M, LMNA 
## PC_ 4 
## Positive:  TOX, TSHZ2, ITGA4, LEF1, IKZF2, ESR1, FAM13A, JUNB, MBNL1, CERS6 
##     SESN3, ST8SIA1, B2M, AL109930.1, VAV3, FHIT, AP000787.1, LDLRAD4, C12orf42, AC093865.1 
## Negative:  ADAM19, SYTL3, IFNG-AS1, PLCB1, SNED1, IL18RAP, STAT4, FRY, Z93930.2, SEMA5A 
##     MYBL1, TPRG1, PATJ, ARHGAP26, PBX4, SYTL2, GATA3, LRIG1, EGLN3, KAT2B 
## PC_ 5 
## Positive:  NR3C2, BACH2, PCSK5, RASGRF2, NELL2, PRKN, RNF157, PLXNA4, APBA2, PLCB1 
##     IGF1R, MYBL1, EDA, PDE3B, MCTP2, A2M, BCL2, ADAM23, PRKCA, SBF2 
## Negative:  LINC02694, MSC-AS1, AC013652.1, RABGAP1L, ITGB1, TOX, ABLIM1, PTPN13, FAM160B1, TBXAS1 
##     CYTOR, MIR4435-2HG, CENPE, PAM, RBPJ, GTDC1, SLC9A9, IL7, NIBAN1, ST8SIA1 
##    Power SFT.R.sq   slope truncated.R.sq  mean.k. median.k.  max.k.
## 1      1 0.000321  -0.854         0.9610 1.08e+02  1.08e+02 112.000
## 2      2 0.028100  -4.020         0.9670 5.54e+01  5.53e+01  59.600
## 3      3 0.143000  -4.930         0.9180 2.87e+01  2.86e+01  32.700
## 4      4 0.376000  -6.020         0.6730 1.50e+01  1.48e+01  19.300
## 5      5 0.784000  -6.570         0.7920 7.97e+00  7.78e+00  12.100
## 6      6 0.327000 -12.200         0.1740 4.28e+00  4.13e+00   8.030
## 7      7 0.343000  -9.320         0.2000 2.33e+00  2.20e+00   5.580
## 8      8 0.939000  -3.610         0.9350 1.30e+00  1.19e+00   4.030
## 9      9 0.951000  -3.020         0.9690 7.35e-01  6.45e-01   3.010
## 10    10 0.283000  -4.650         0.0789 4.26e-01  3.51e-01   2.300
## 11    12 0.278000  -3.640         0.0734 1.55e-01  1.11e-01   1.420
## 12    14 0.264000  -4.350         0.0563 6.38e-02  3.45e-02   0.920
## 13    16 0.294000  -3.410         0.1340 2.96e-02  1.10e-02   0.615
## 14    18 0.244000  -3.180         0.0323 1.52e-02  3.57e-03   0.420
## 15    20 0.301000  -3.250         0.1480 8.51e-03  1.21e-03   0.292

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##  0  1  2  3  4  5  6  7  8  9 10 
## 71 23 15 15 15 14 13 13 12 12 10

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 11 module eigengenes in given set.
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 9 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 9 module eigengenes in given set.
## $blue
##  [1] "ANK3"       "INPP4B"     "ARHGAP15"   "PAG1"       "CAMK4"     
##  [6] "ADAM19"     "FMN1"       "PATJ"       "GNAQ"       "BCL2"      
## [11] "SOS1"       "ANTXR2"     "PRKCA"      "TIAM1"      "ITGB1"     
## [16] "ESR1"       "AC005237.1" "EGLN3"      "RUNX2"      "MB21D2"    
## [21] "ACVR2A"     "LDLRAD4"    "FUT8"       "KAT2B"      "RBPJ"      
## [26] "IL7"        "ZC2HC1A"   
## 
## $red
##  [1] "FOXP1"     "PHACTR2"   "ZEB1"      "TC2N"      "FKBP5"     "PBX4"     
##  [7] "PDE3B"     "USP9Y"     "UTY"       "PRKY"      "LINC00278" "KDM5D"    
## [13] "ST3GAL3"  
## 
## $green
##  [1] "SMCHD1"    "ANKRD44"   "CASK"      "MGAT5"     "LINC01619" "FYN"      
##  [7] "BTBD11"    "CYTH1"     "ARAP2"     "LRIG1"     "SIK3"      "SMAD3"    
## [13] "PPP1R16B"  "CNOT6L"   
## 
## $pink
##  [1] "ETV6"      "NCALD"     "ITGA4"     "ST8SIA1"   "TRPS1"     "BICDL1"   
##  [7] "LINC01934" "PTPRM"     "RABGAP1L"  "TBXAS1"    "PAM"       "SLC9A9"   
## 
## $purple
##  [1] "PDE7A"       "TGFBR3"      "TMEM65"      "MBNL1"       "SYTL2"      
##  [6] "MSC-AS1"     "CYTOR"       "MIR4435-2HG" "GTDC1"       "MIB1"       
## 
## $yellow
##  [1] "PCNX1"      "SNED1"      "SEMA5A"     "FRY"        "GATA3"     
##  [6] "CSGALNACT1" "GAB2"       "AP003086.1" "LINC00511"  "AC013652.1"
## [11] "PI16"       "CHST11"     "LINC02694"  "NIBAN1"     "PLD1"      
## 
## $brown
##  [1] "NKG7"       "GNLY"       "CCL5"       "KLRD1"      "PRF1"      
##  [6] "GZMH"       "GZMB"       "KLRK1"      "GZMA"       "ZEB2"      
## [11] "CST7"       "FGFBP2"     "AC243829.2" "KLRF1"      "KLRC2"     
## [16] "CD8A"       "IKZF2"      "KLRC3"      "TRGC2"      "EFHD2"     
## [21] "NCR1"       "LYN"        "TRDC"       "AOAH"       "PPP2R2B"   
## [26] "MCTP2"      "C1orf21"    "DTHD1"      "TRG-AS1"    "GAB3"      
## [31] "PDGFD"      "TOX"        "VAV3"       "AC093865.1" "A2M"       
## [36] "PZP"        "ID2"        "RGS1"      
## 
## $black
##  [1] "B2M"        "JUNB"       "FOS"        "JUN"        "TEX14"     
##  [6] "FOSB"       "LMNA"       "ANXA1"      "AC022217.3" "LINC00910" 
## [11] "CROCC"      "EGR1"       "AC103591.3"
## 
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "547/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "1505/10000 permutations failed the Mann-Whitney test."
## [1] "1901/10000 permutations failed the Mann-Whitney test."
## [1] "2/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## $blue
##  [1] "ANK3"       "INPP4B"     "ARHGAP15"   "PAG1"       "CAMK4"     
##  [6] "ADAM19"     "FMN1"       "PATJ"       "GNAQ"       "BCL2"      
## [11] "SOS1"       "ANTXR2"     "PRKCA"      "TIAM1"      "ITGB1"     
## [16] "ESR1"       "AC005237.1" "EGLN3"      "RUNX2"      "MB21D2"    
## [21] "ACVR2A"     "LDLRAD4"    "FUT8"       "KAT2B"      "RBPJ"      
## [26] "IL7"        "ZC2HC1A"   
## 
## $green
##  [1] "SMCHD1"    "ANKRD44"   "CASK"      "MGAT5"     "LINC01619" "FYN"      
##  [7] "BTBD11"    "CYTH1"     "ARAP2"     "LRIG1"     "SIK3"      "SMAD3"    
## [13] "PPP1R16B"  "CNOT6L"   
## 
## $yellow
##  [1] "PCNX1"      "SNED1"      "SEMA5A"     "FRY"        "GATA3"     
##  [6] "CSGALNACT1" "GAB2"       "AP003086.1" "LINC00511"  "AC013652.1"
## [11] "PI16"       "CHST11"     "LINC02694"  "NIBAN1"     "PLD1"      
## 
## $brown
##  [1] "NKG7"       "GNLY"       "CCL5"       "KLRD1"      "PRF1"      
##  [6] "GZMH"       "GZMB"       "KLRK1"      "GZMA"       "ZEB2"      
## [11] "CST7"       "FGFBP2"     "AC243829.2" "KLRF1"      "KLRC2"     
## [16] "CD8A"       "IKZF2"      "KLRC3"      "TRGC2"      "EFHD2"     
## [21] "NCR1"       "LYN"        "TRDC"       "AOAH"       "PPP2R2B"   
## [26] "MCTP2"      "C1orf21"    "DTHD1"      "TRG-AS1"    "GAB3"      
## [31] "PDGFD"      "TOX"        "VAV3"       "AC093865.1" "A2M"       
## [36] "PZP"        "ID2"        "RGS1"      
## 
## $black
##  [1] "B2M"        "JUNB"       "FOS"        "JUN"        "TEX14"     
##  [6] "FOSB"       "LMNA"       "ANXA1"      "AC022217.3" "LINC00910" 
## [11] "CROCC"      "EGR1"       "AC103591.3"
## 
## [1] "5023"
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : pseudoinverse used at -2.5786
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : neighborhood radius 0.30103
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : reciprocal condition number 1.0454e-15

## PC_ 1 
## Positive:  ARHGAP15, MBNL1, INPP4B, PAG1, ANK3, RORA, ZBTB20, THEMIS, GPRIN3, MDFIC 
##     DOCK10, KLF12, AFF1, CDC14A, SKAP1, DPYD, LINC01619, SOS1, RUNX2, SCFD2 
## Negative:  RPL41, RPL13A, RPS18, RPL13, RPLP2, RPLP1, RPL19, RPS23, RPL28, RPS2 
##     RPS28, RPS19, RPS8, TMSB10, RPL11, RPL37A, RPL18A, RPL37, FAU, RPL23A 
## PC_ 2 
## Positive:  RPL11, RPS19, RPL28, RPLP2, FAU, LTB, RPL18A, EEF1A1, B2M, RPL13 
##     RPS2, RPS23, RPL37, RPS28, RPL37A, RPLP1, RPS26, RPS18, RPL13A, RPS8 
## Negative:  AOAH, ZEB2, LINC02384, PPCDC, TOX, DTHD1, SLC16A1-AS1, TOX2, TGFBR3, TBXAS1 
##     ADCY9, C1orf21, HIP1, BMPR2, TTN, GAS7, AC243829.2, GRAMD1B, SLC9A7, MIR4435-2HG 
## PC_ 3 
## Positive:  ZEB2, DTHD1, C1orf21, PDGFD, ARHGAP26, SAMD3, TGFBR3, PPP2R2B, PLCB1, AOAH 
##     KLRK1, MCTP2, NCALD, GTDC1, FCRL3, CCL5, GAB3, LINC02384, A2M, ADGRG5 
## Negative:  TSHZ2, LEF1, KANK1, FHIT, AC139720.1, FAAH2, PLXNA4, PLCL1, CMTM8, AL589693.1 
##     AC233976.1, SESN3, DST, EPHA1-AS1, CERS6, AL353660.1, FAM13A, ADTRP, TIAM1, SAMD12 
## PC_ 4 
## Positive:  PLCB1, PDE4D, FRY, LINC00299, ADAM23, AL136456.1, PTPN13, CR1, NTN4, MYBL1 
##     SASH1, RBMS1, RUNX2, ADAM12, RORA, AC016821.1, SOS1, CYTH3, ABCB1, MB21D2 
## Negative:  TOX, SLC9A9, ST8SIA1, ARID5B, AOAH, SESN3, AL353660.1, CDHR3, FHIT, MTSS1 
##     LINC01362, TSHZ2, ZEB2, FAAH2, EPB41L5, DTHD1, TTN, CYTOR, CERS6, ICOS 
## PC_ 5 
## Positive:  SAMD3, A2M, NELL2, ANTXR2, SBF2, EDARADD, CYTOR, LINC01934, ANK3, PCAT1 
##     IFNG-AS1, KLRG1, PZP, ARHGAP26, POC1B, MCC, SRBD1, SMYD3, SKAP1, ITGA4 
## Negative:  EBF1, BANK1, CCSER1, LYN, HLA-DRA, AFF3, LRRK2, TCF4, IL7, PAX5 
##     AP001059.3, TBC1D9, TLE1, KDM4A-AS1, PIK3AP1, COL19A1, PTPN13, RHEX, KHDRBS2, XRCC2 
##    Power SFT.R.sq  slope truncated.R.sq mean.k. median.k.  max.k.
## 1      1  0.00271 -1.690         0.7950 95.3000  95.20000 100.000
## 2      2  0.05640  2.570         0.5500 49.5000  49.20000  54.600
## 3      3  0.07570 -1.890         0.1290 26.2000  25.50000  32.300
## 4      4  0.29600 -3.430         0.0952 14.1000  13.40000  20.700
## 5      5  0.10400 -6.470        -0.0563  7.8100   7.09000  14.200
## 6      6  0.07190 -3.940         0.0395  4.4600   3.77000  10.400
## 7      7  0.07320 -3.070         0.0786  2.6500   2.04000   7.920
## 8      8  0.05120 -2.800         0.1910  1.6400   1.10000   6.260
## 9      9  0.03910 -1.550         0.1030  1.0700   0.60100   5.050
## 10    10  0.02000 -1.300         0.2170  0.7230   0.33200   4.140
## 11    12  0.01950 -0.788         0.0804  0.3750   0.10400   2.840
## 12    14  0.00574 -0.483         0.1930  0.2190   0.03310   1.990
## 13    16  0.02070 -0.594         0.0467  0.1370   0.01090   1.400
## 14    18  0.02830 -0.622         0.0394  0.0889   0.00369   0.990
## 15    20  0.63000 -0.750         0.6900  0.0591   0.00129   0.703

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##  0  1  2  3  4  5  6  7 
## 22 46 36 32 15 13 12 11

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 8 module eigengenes in given set.
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 7 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 7 module eigengenes in given set.
## $brown
##  [1] "ARHGAP15"    "MBNL1"       "INPP4B"      "PAG1"        "ANK3"       
##  [6] "RORA"        "ZBTB20"      "THEMIS"      "GPRIN3"      "MDFIC"      
## [11] "DOCK10"      "KLF12"       "AFF1"        "CDC14A"      "SKAP1"      
## [16] "DPYD"        "LINC01619"   "SOS1"        "RUNX2"       "SCFD2"      
## [21] "SAMD12"      "ADK"         "ITFG1"       "FBXL17"      "MAML2"      
## [26] "SLC16A1-AS1" "AC008403.3"  "TTC7B"       "NCALD"       "GAB3"       
## [31] "TSHZ2"       "LEF1"        "KANK1"       "FHIT"        "AC139720.1" 
## [36] "FAAH2"       "PLXNA4"      "PLCL1"       "CMTM8"       "AL589693.1" 
## [41] "AC233976.1"  "SESN3"       "DST"         "EPHA1-AS1"   "CERS6"      
## [46] "AL353660.1"  "FAM13A"      "ADTRP"       "TIAM1"       "TXK"        
## [51] "ESR1"        "LINC01725"   "APP"         "FRY"         "ADAM23"     
## [56] "MYBL1"       "RBMS1"       "MB21D2"      "EDA"         "GREM2"      
## [61] "SLC9A9"      "ST8SIA1"     "ARID5B"      "MTSS1"       "LINC01362"  
## [66] "ICOS"        "LINC01727"   "GPR155"      "NELL2"       "ANTXR2"     
## [71] "SBF2"        "LINC01934"   "PCAT1"       "POC1B"       "SRBD1"      
## [76] "SMYD3"       "ITGA4"       "MAMLD1"     
## 
## $blue
##  [1] "RPL41"       "RPL13A"      "RPS18"       "RPL13"       "RPLP2"      
##  [6] "RPLP1"       "RPL19"       "RPS23"       "RPL28"       "RPS2"       
## [11] "RPS28"       "RPS19"       "RPS8"        "TMSB10"      "RPL11"      
## [16] "RPL37A"      "RPL18A"      "RPL37"       "FAU"         "RPL23A"     
## [21] "EEF1A1"      "RPS26"       "LTB"         "B2M"         "S100A6"     
## [26] "TBXAS1"      "SLC9A7"      "MIR4435-2HG" "ST8SIA6"     "FCRL3"      
## [31] "CCL5"        "A2M"         "MAP3K8"      "PZP"         "FOSB"       
## [36] "FOS"        
## 
## $black
##  [1] "AOAH"       "ZEB2"       "LINC02384"  "DTHD1"      "C1orf21"   
##  [6] "GAS7"       "AC243829.2" "GRAMD1B"    "PDGFD"      "ARHGAP26"  
## [11] "KLRK1"     
## 
## $green
##  [1] "PPCDC"     "ADCY9"     "BMPR2"     "PRKCE"     "ADGRG5"    "AGAP1"    
##  [7] "ADAM12"    "ABCB1"     "SLC4A10"   "LINC01644" "KLRG1"     "MCC"      
## [13] "RHEX"     
## 
## $yellow
##  [1] "TOX2"      "LYN"       "EBF1"      "BANK1"     "CCSER1"    "HLA-DRA"  
##  [7] "AFF3"      "LRRK2"     "TCF4"      "TBC1D9"    "KDM4A-AS1" "KHDRBS2"  
## [13] "XRCC2"     "IGKC"      "KMO"      
## 
## $red
##  [1] "HIP1"       "PLCB1"      "PDE4D"      "LINC00299"  "AL136456.1"
##  [6] "PTPN13"     "CR1"        "NTN4"       "SASH1"      "AC016821.1"
## [11] "CYTH3"      "COL5A3"    
## 
## [1] "109/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "1/10000 permutations failed the Mann-Whitney test."
## [1] "4635/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "508/10000 permutations failed the Mann-Whitney test."
## $brown
##  [1] "ARHGAP15"    "MBNL1"       "INPP4B"      "PAG1"        "ANK3"       
##  [6] "RORA"        "ZBTB20"      "THEMIS"      "GPRIN3"      "MDFIC"      
## [11] "DOCK10"      "KLF12"       "AFF1"        "CDC14A"      "SKAP1"      
## [16] "DPYD"        "LINC01619"   "SOS1"        "RUNX2"       "SCFD2"      
## [21] "SAMD12"      "ADK"         "ITFG1"       "FBXL17"      "MAML2"      
## [26] "SLC16A1-AS1" "AC008403.3"  "TTC7B"       "NCALD"       "GAB3"       
## [31] "TSHZ2"       "LEF1"        "KANK1"       "FHIT"        "AC139720.1" 
## [36] "FAAH2"       "PLXNA4"      "PLCL1"       "CMTM8"       "AL589693.1" 
## [41] "AC233976.1"  "SESN3"       "DST"         "EPHA1-AS1"   "CERS6"      
## [46] "AL353660.1"  "FAM13A"      "ADTRP"       "TIAM1"       "TXK"        
## [51] "ESR1"        "LINC01725"   "APP"         "FRY"         "ADAM23"     
## [56] "MYBL1"       "RBMS1"       "MB21D2"      "EDA"         "GREM2"      
## [61] "SLC9A9"      "ST8SIA1"     "ARID5B"      "MTSS1"       "LINC01362"  
## [66] "ICOS"        "LINC01727"   "GPR155"      "NELL2"       "ANTXR2"     
## [71] "SBF2"        "LINC01934"   "PCAT1"       "POC1B"       "SRBD1"      
## [76] "SMYD3"       "ITGA4"       "MAMLD1"     
## 
## $blue
##  [1] "RPL41"       "RPL13A"      "RPS18"       "RPL13"       "RPLP2"      
##  [6] "RPLP1"       "RPL19"       "RPS23"       "RPL28"       "RPS2"       
## [11] "RPS28"       "RPS19"       "RPS8"        "TMSB10"      "RPL11"      
## [16] "RPL37A"      "RPL18A"      "RPL37"       "FAU"         "RPL23A"     
## [21] "EEF1A1"      "RPS26"       "LTB"         "B2M"         "S100A6"     
## [26] "TBXAS1"      "SLC9A7"      "MIR4435-2HG" "ST8SIA6"     "FCRL3"      
## [31] "CCL5"        "A2M"         "MAP3K8"      "PZP"         "FOSB"       
## [36] "FOS"        
## 
## $black
##  [1] "AOAH"       "ZEB2"       "LINC02384"  "DTHD1"      "C1orf21"   
##  [6] "GAS7"       "AC243829.2" "GRAMD1B"    "PDGFD"      "ARHGAP26"  
## [11] "KLRK1"     
## 
## $yellow
##  [1] "TOX2"      "LYN"       "EBF1"      "BANK1"     "CCSER1"    "HLA-DRA"  
##  [7] "AFF3"      "LRRK2"     "TCF4"      "TBC1D9"    "KDM4A-AS1" "KHDRBS2"  
## [13] "XRCC2"     "IGKC"      "KMO"      
## 
## [1] "5009"
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : pseudoinverse used at -2.57
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : neighborhood radius 0.30103
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : reciprocal condition number 4.7868e-16

## PC_ 1 
## Positive:  ZEB2, GNLY, SYNE1, SETBP1, AOAH, KLRK1, KLRD1, C1orf21, AC243829.2, OSBPL5 
##     ATP8B4, LINC02384, LYN, ADGRG5, CCL5, ARHGAP26, PDGFD, NKG7, MYO3B, TGFBR3 
## Negative:  INPP4B, ARHGAP15, CAMK4, ANK3, SERINC5, MAP3K1, LEF1, CDC14A, TTC39C, PRKCA 
##     MGAT5, ADAM19, HIVEP2, NR3C2, PVT1, GNAQ, TNFAIP8, NELL2, MAML2, MBNL1 
## PC_ 2 
## Positive:  ZEB2, SAMD3, TGFBR3, ARHGAP26, AOAH, KLRD1, MCTP2, GNLY, PPP2R2B, ATP8A1 
##     VAV3, CEP78, PDGFD, SETBP1, SYNE1, RABGAP1L, JAZF1, KLRG1, CBLB, NCALD 
## Negative:  TSHZ2, PVT1, TIAM1, SERINC5, BCL2, RPLP2, PRKCA, ANK3, ADAM19, FKBP5 
##     FAAH2, RPL41, EDA, TTC39C, LEF1, RPS24, KCNQ1, DLGAP1, TSPAN18, ALPK1 
## PC_ 3 
## Positive:  IGF1R, TXK, KANK1, KLRC3, VAV3, PCSK5, PELI2, AL353660.1, KLRC2, PRKN 
##     RALGPS2, DOCK3, AOAH, TRIO, AK5, MYO6, KLRF1, NR3C2, TENM1, NEXMIF 
## Negative:  LINC02694, AC013652.1, LINC00299, SLF1, ITGB1, FAR2, RBPJ, SMC4, FRY, GTDC1 
##     SEPTIN11, ST8SIA4, NIBAN1, MSC-AS1, KIAA0825, RORA, MCF2L2, PLD1, ADAM19, THEMIS 
## PC_ 4 
## Positive:  FRY, MB21D2, ADAM12, ZNF462, LINC00299, RUNX2, MTUS2, AGPAT4, PLCB1, SASH1 
##     CFH, RBMS1, PTPN13, AUTS2, AGAP1, DST, CR1, AL136456.1, TRIQK, SUSD4 
## Negative:  ST8SIA1, IFNG-AS1, CCNE2, MAN2A1, AL353660.1, CCNA2, KIF11, CEMIP2, LINC00402, CENPU 
##     C12orf42, SLC9A9, KIF2C, SGPP2, DEPDC1B, RAD51, ERVMER61-1, FAAH2, PCLAF, RRM2 
## PC_ 5 
## Positive:  NFIL3, NCAPG, E2F7, LMCD1-AS1, POC1A, DDIAS, BUB1B, NCAPH, MID1, MBOAT2 
##     KIF14, RBBP8, PCLAF, DIAPH3, RRM2, CDCA2, KIF23, CDC6, CCNE2, BRIP1 
## Negative:  ST8SIA1, LINC01934, IFNG-AS1, ITGA4, THEMIS, SLC9A9, TRPS1, AC053513.1, C12orf42, TOX 
##     CDC14A, ANXA1, SLF1, LINC00402, LRIG1, ST8SIA4, AC023424.3, CAMK4, SAMD3, MBNL1 
##    Power SFT.R.sq slope truncated.R.sq  mean.k. median.k.   max.k.
## 1      1   0.0534 -7.43        0.69500 1.01e+02  1.01e+02 108.0000
## 2      2   0.0913 -4.51        0.81300 5.30e+01  5.26e+01  61.3000
## 3      3   0.2070 -4.45        0.80900 2.81e+01  2.77e+01  35.4000
## 4      4   0.2670 -3.59        0.78800 1.51e+01  1.48e+01  20.9000
## 5      5   0.3500 -3.36        0.73300 8.22e+00  7.96e+00  12.6000
## 6      6   0.5630 -3.17        0.82700 4.54e+00  4.31e+00   7.7400
## 7      7   0.6890 -2.98        0.79000 2.55e+00  2.36e+00   4.8500
## 8      8   0.8090 -2.92        0.82100 1.45e+00  1.31e+00   3.1400
## 9      9   0.8860 -3.05        0.87300 8.40e-01  7.29e-01   2.1100
## 10    10   0.9280 -2.84        0.92700 4.93e-01  4.10e-01   1.4600
## 11    12   0.9290 -2.40        0.91900 1.79e-01  1.35e-01   0.7270
## 12    14   0.1650 -3.12       -0.04040 6.87e-02  4.55e-02   0.3740
## 13    16   0.3080 -3.70        0.18900 2.80e-02  1.66e-02   0.1970
## 14    18   0.2170 -3.71       -0.00609 1.20e-02  6.27e-03   0.1060
## 15    20   0.3290 -4.21        0.23600 5.39e-03  2.29e-03   0.0575

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##   0   1   2   3 
## 126  28  28  15

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 4 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 4 module eigengenes in given set.
## $blue
##  [1] "ZEB2"       "GNLY"       "SYNE1"      "SETBP1"     "AOAH"      
##  [6] "KLRK1"      "KLRD1"      "C1orf21"    "AC243829.2" "OSBPL5"    
## [11] "ATP8B4"     "LINC02384"  "ADGRG5"     "ARHGAP26"   "PDGFD"     
## [16] "MYO3B"      "TGFBR3"     "RIN3"       "FAM49A"     "CEP78"     
## [21] "SAMD3"      "MCTP2"      "PPP2R2B"    "ATP8A1"     "JAZF1"     
## [26] "SYTL2"      "MYO6"       "AGAP1"     
## 
## $turquoise
##  [1] "INPP4B"     "ARHGAP15"   "CAMK4"      "ANK3"       "SERINC5"   
##  [6] "MAP3K1"     "LEF1"       "CDC14A"     "TTC39C"     "PRKCA"     
## [11] "MGAT5"      "ADAM19"     "HIVEP2"     "PVT1"       "TNFAIP8"   
## [16] "MAML2"      "MBNL1"      "FAAH2"      "DPYD"       "GPRIN3"    
## [21] "AC139720.1" "KLHL5"      "TSHZ2"      "BCL2"       "FKBP5"     
## [26] "ST8SIA1"    "SLC9A9"     "ANTXR2"    
## 
## $brown
##  [1] "KIF2C"   "DEPDC1B" "RRM2"    "CDCA2"   "POLQ"    "NCAPG"   "E2F7"   
##  [8] "BUB1B"   "NCAPH"   "RBBP8"   "DIAPH3"  "KIF23"   "CDC6"    "CDCA8"  
## [15] "MELTF"  
## 
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "2/10000 permutations failed the Mann-Whitney test."
## $blue
##  [1] "ZEB2"       "GNLY"       "SYNE1"      "SETBP1"     "AOAH"      
##  [6] "KLRK1"      "KLRD1"      "C1orf21"    "AC243829.2" "OSBPL5"    
## [11] "ATP8B4"     "LINC02384"  "ADGRG5"     "ARHGAP26"   "PDGFD"     
## [16] "MYO3B"      "TGFBR3"     "RIN3"       "FAM49A"     "CEP78"     
## [21] "SAMD3"      "MCTP2"      "PPP2R2B"    "ATP8A1"     "JAZF1"     
## [26] "SYTL2"      "MYO6"       "AGAP1"     
## 
## $turquoise
##  [1] "INPP4B"     "ARHGAP15"   "CAMK4"      "ANK3"       "SERINC5"   
##  [6] "MAP3K1"     "LEF1"       "CDC14A"     "TTC39C"     "PRKCA"     
## [11] "MGAT5"      "ADAM19"     "HIVEP2"     "PVT1"       "TNFAIP8"   
## [16] "MAML2"      "MBNL1"      "FAAH2"      "DPYD"       "GPRIN3"    
## [21] "AC139720.1" "KLHL5"      "TSHZ2"      "BCL2"       "FKBP5"     
## [26] "ST8SIA1"    "SLC9A9"     "ANTXR2"    
## 
## $brown
##  [1] "KIF2C"   "DEPDC1B" "RRM2"    "CDCA2"   "POLQ"    "NCAPG"   "E2F7"   
##  [8] "BUB1B"   "NCAPH"   "RBBP8"   "DIAPH3"  "KIF23"   "CDC6"    "CDCA8"  
## [15] "MELTF"  
## 
## [1] "5021"
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : pseudoinverse used at -2.802
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : neighborhood radius 0.50239
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : reciprocal condition number 1.4259e-15
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : There are other near singularities as well. 0.090619

## PC_ 1 
## Positive:  INPP4B, CDC14A, PAG1, SERINC5, ARHGAP15, PRKCA, ANK3, CD28, LEF1, ADAM19 
##     CAMK4, STT3B, RBMS1, BCL2, MAP3K1, FAAH2, TTC39C, TSHZ2, TAB2, PDE3B 
## Negative:  ZEB2, C1orf21, AGAP1, TGFBR3, SETBP1, LINC02384, AOAH, PPP2R2B, LYN, TOX 
##     MYO3B, PLCB1, MIR4435-2HG, NKG7, PRSS23, AC243829.2, PDGFD, JAKMIP2, EPB41L4A, EIF4G3 
## PC_ 2 
## Positive:  ZEB2, TGFBR3, C1orf21, PARP8, RABGAP1L, JAZF1, PPP2R2B, NCALD, CBLB, TOX 
##     MYBL1, MYO3B, SETBP1, EIF4G3, ARL15, GTDC1, PDGFD, DNAJC1, LINC02384, FYN 
## Negative:  SERINC5, TIAM1, RCAN3, PATJ, TCF7, RPLP2, PRKCA, ADAM19, LEF1, BCL2 
##     PVT1, TSHZ2, RPS28, AL589693.1, RPL41, PLCL1, LTB, FAAH2, MB21D2, RPL28 
## PC_ 3 
## Positive:  DTL, FAM111B, MYBL2, POLQ, STMN1, RRM2, FANCA, UHRF1, RAD51, EXO1 
##     ORC1, DIAPH3, CDC45, SHCBP1, NCAPH, BRIP1, HHLA3, CLSPN, VAV2, CIT 
## Negative:  THEMIS, PTPRM, GTDC1, MALAT1, LINC00299, RORA, NCALD, ZEB1, ARHGAP15, IFNG-AS1 
##     TPRG1, CCDC91, PDE4B, PARP8, CDC14A, B2M, PLCB1, LINC02694, FAU, ANTXR2 
## PC_ 4 
## Positive:  KLRC3, IKZF2, AC243829.2, AC093865.1, KLRC2, PLXNA4, MTSS1, BNC2, EDA, KLRK1 
##     KANK1, EPB41L4A, ARHGEF28, EFNA5, ARHGAP42, DST, CTBP2, CSGALNACT1, TXK, SGCD 
## Negative:  JUN, FOSB, RPL41, RPS19, FAU, AC022217.3, LTB, RPLP2, B2M, RPS28 
##     DUSP1, RPL28, RPL13A, RPS15, UHRF1, NUSAP1, DTL, AC092652.1, CENPU, RAD51 
## PC_ 5 
## Positive:  PLCB1, FKBP5, RORA, PTPRM, AGAP1, LINC00299, MYBL1, BTBD11, PUDP, MB21D2 
##     AC119673.2, CARMIL1, AL136456.1, ADAM12, ZFHX3, KIF16B, CCR6, GRAMD1B, ZC4H2, LEPR 
## Negative:  RPL41, RPL28, AC093865.1, JUN, LTB, FOSB, FAU, RPLP2, KLRC3, RPS28 
##     RPL13A, RPS19, IKZF2, B2M, KLRK1, RPS15, DUSP1, AC092652.1, KLRC2, AC022217.3 
##    Power SFT.R.sq  slope truncated.R.sq mean.k. median.k. max.k.
## 1      1    0.398 -18.40          0.913 87.2000  87.00000 93.000
## 2      2    0.256  -7.04          0.882 45.7000  45.30000 52.100
## 3      3    0.179  -3.25          0.802 24.3000  23.90000 29.700
## 4      4    0.162  -1.91          0.681 13.2000  12.80000 17.300
## 5      5    0.183  -1.60          0.562  7.2500   6.96000 10.400
## 6      6    0.266  -1.58          0.548  4.0700   3.87000  6.500
## 7      7    0.434  -1.69          0.633  2.3300   2.18000  4.200
## 8      8    0.692  -1.99          0.853  1.3600   1.26000  2.920
## 9      9    0.818  -2.30          0.958  0.8080   0.73600  2.120
## 10    10    0.278  -5.00          0.179  0.4910   0.43100  1.600
## 11    12    0.364  -6.08          0.261  0.1930   0.15900  0.975
## 12    14    0.376  -6.08          0.209  0.0822   0.06030  0.640
## 13    16    0.355  -5.71          0.177  0.0379   0.02370  0.441
## 14    18    0.310  -4.90          0.178  0.0188   0.00935  0.314
## 15    20    0.319  -4.46          0.195  0.0100   0.00378  0.230

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##   0   1   2 
## 144  16  10

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 3 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 3 module eigengenes in given set.
## $turquoise
##  [1] "INPP4B"   "CDC14A"   "PAG1"     "ARHGAP15" "ANK3"     "CD28"    
##  [7] "ADAM19"   "CAMK4"    "RBMS1"    "BCL2"     "TTC39C"   "TAB2"    
## [13] "PDE3B"    "CDK6"     "DOCK10"   "MB21D2"  
## 
## $blue
##  [1] "RPLP2"  "RPS28"  "RPL41"  "LTB"    "RPL28"  "B2M"    "FAU"    "RPS19" 
##  [9] "RPL13A" "RPS15" 
## 
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## $turquoise
##  [1] "INPP4B"   "CDC14A"   "PAG1"     "ARHGAP15" "ANK3"     "CD28"    
##  [7] "ADAM19"   "CAMK4"    "RBMS1"    "BCL2"     "TTC39C"   "TAB2"    
## [13] "PDE3B"    "CDK6"     "DOCK10"   "MB21D2"  
## 
## $blue
##  [1] "RPLP2"  "RPS28"  "RPL41"  "LTB"    "RPL28"  "B2M"    "FAU"    "RPS19" 
##  [9] "RPL13A" "RPS15" 
## 
## [1] "5037"
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : pseudoinverse used at -2.7668
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : neighborhood radius 0.30103
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : reciprocal condition number 1.1012e-15

## PC_ 1 
## Positive:  ARHGAP15, MBNL1, ANK3, INPP4B, PAG1, ZBTB20, MAP3K1, MGAT5, CDC14A, DOCK10 
##     KLF12, RBMS1, BCL2, PRKCA, GPRIN3, CASK, RORA, HIVEP2, PLCG2, GNAQ 
## Negative:  GNLY, ZEB2, AC105402.3, AOAH, SLA2, NKG7, RPLP2, CCL5, RPL28, C1orf21 
##     SYNE1, RPS28, RBFOX3, RPL41, OSBPL5, AC243829.2, RPL13, RPS19, RPS2, RPS18 
## PC_ 2 
## Positive:  TSHZ2, LEF1, RPL13, RPLP2, RPL41, RPS18, RPS2, AC079793.1, FHIT, RPS28 
##     PRKCA, GNAQ, INPP4B, RPS15, FAAH2, CMTM8, RPL28, MAP3K1, RPS19, JUN 
## Negative:  ZEB2, SYNE1, AOAH, C1orf21, TGFBR3, PPP2R2B, GNLY, ARHGAP26, ATP8A1, LINC02384 
##     SYTL3, MVB12B, SETBP1, SAMD3, CEMIP2, NCALD, GAB3, SYTL2, PDGFD, OSBPL5 
## PC_ 3 
## Positive:  PTPN13, TANC1, MCF2L2, LINC02649, KLHL5, ADAM12, ADAM19, C22orf34, KANK1, TBXAS1 
##     AL589693.1, PPP1R16B, C5orf17, LDLRAD4, AL136456.1, MAP3K1, TSHZ2, GRAMD1B, HLF, BORCS5 
## Negative:  AC079793.1, RPS2, RPL41, FOSB, RPLP2, RPL28, JUN, RPS15, RPS28, RPL13 
##     RPS19, RPS18, FOS, JUNB, AC022217.3, ANXA1, AC253572.2, CROCC, TEX14, MBNL1 
## PC_ 4 
## Positive:  FRY, ADAM12, AL136456.1, LINC00299, PDE4D, RUNX2, RBMS1, PLCB1, AFDN, DLEU1 
##     LINC01644, NFKBIA, MB21D2, TANC1, JUN, MCF2L2, GAB2, PTPN13, B4GALT5, RORA 
## Negative:  ST8SIA1, APBA2, TSHZ2, AL353660.1, TXK, UBASH3B, LEF1, SESN3, TOX, GCNT4 
##     ARID5B, ANKRD55, TMEM45B, CERS6, LINC01550, SGPP2, SLC9A9, MAN2A1, IFNG-AS1, GRK5 
## PC_ 5 
## Positive:  LINC02694, PELI1, MCF2L2, ST8SIA1, NIBAN1, LINC01362, GATA3, AC013652.1, SEMA5A, ELL2 
##     TBXAS1, LRRC8B, CDYL2, SNED1, JUN, ENTPD1, SLC9A7, AC022217.3, LMNA, PKIA 
## Negative:  PLCB1, PCSK5, EDA, MYBL1, RASGRF2, IGF1R, PRKN, TAFA1, NR3C2, ABCB1 
##     TXK, DST, AGAP1, UBE2E2, AC002460.2, WWC2, SATB1-AS1, ATP10A, ALOX5, ANK1 
##    Power SFT.R.sq slope truncated.R.sq  mean.k. median.k.  max.k.
## 1      1   0.0933 -6.87         0.8530 1.10e+02  1.10e+02 119.000
## 2      2   0.0452 -2.47         0.8020 5.75e+01  5.68e+01  67.000
## 3      3   0.0408 -1.50         0.7930 3.02e+01  2.98e+01  38.100
## 4      4   0.0600 -1.36         0.7560 1.61e+01  1.57e+01  21.900
## 5      5   0.0832 -1.27         0.7540 8.63e+00  8.50e+00  12.800
## 6      6   0.1060 -1.17         0.7570 4.69e+00  4.54e+00   7.520
## 7      7   0.1630 -1.16         0.8140 2.58e+00  2.45e+00   4.480
## 8      8   0.1440 -0.90         0.6940 1.44e+00  1.33e+00   2.700
## 9      9   0.4330 -1.66         0.8020 8.21e-01  7.39e-01   1.810
## 10    10   0.2580 -5.46         0.1500 4.74e-01  4.10e-01   1.310
## 11    12   0.2900 -4.46         0.1740 1.68e-01  1.29e-01   0.735
## 12    14   0.2940 -3.72         0.1630 6.50e-02  4.20e-02   0.436
## 13    16   0.2840 -3.18         0.1390 2.76e-02  1.38e-02   0.267
## 14    18   0.2650 -2.71         0.1160 1.28e-02  4.64e-03   0.166
## 15    20   0.2510 -2.37         0.0989 6.47e-03  1.66e-03   0.104

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.
## < table of extent 0 >
## Warning in max(nLabels, na.rm = TRUE): no non-missing arguments to max;
## returning -Inf

## Error in hclust(as.dist(MEDiss), method = "average") : 
##   The distance structure is empty.
## [1] "5003"
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : pseudoinverse used at -2.6304
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : neighborhood radius 0.50114
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : reciprocal condition number 9.941e-16
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : There are other near singularities as well. 0.090619

## PC_ 1 
## Positive:  ARHGAP15, MBNL1, PIP4K2A, RUNX1, TNIK, ATXN1, DPYD, PAG1, LRRC8C, FLI1 
##     RORA, SKAP1, LPP, INPP4B, EXOC4, ZBTB20, THEMIS, ARHGEF3, NCOA2, PARP8 
## Negative:  RPS27, JUN, FOS, MALAT1, FOSB, TEX14, IER2, DNAJA1, CROCC, AC253572.2 
##     AL360012.1, SLC10A1, NKG7, AL606489.1, NAMPT, LETM2, SGSM3, IFRD1, CHRM3, RGS1 
## PC_ 2 
## Positive:  SERINC5, CDC14A, TSHZ2, INPP4B, PRKCA, LEF1, ANK3, FHIT, MAP3K1, GNAQ 
##     CAMK4, CSGALNACT1, AL589693.1, FOXP1, FAAH2, PLCL1, AC139720.1, ARHGAP15, CMTM8, TESPA1 
## Negative:  C1orf21, ZEB2, PDGFD, GNLY, PLCB1, SYNE1, PPP2R2B, NKG7, SETBP1, SYTL2 
##     MCTP2, ADGRG1, NCAM1, SAMD3, ARHGAP26, LINC02384, AGAP1, TGFBR3, LINC00299, PTPRM 
## PC_ 3 
## Positive:  JUN, FOSB, FOS, DNAJA1, IER2, CROCC, IFRD1, NAMPT, PLCG2, TEX14 
##     EGR1, AL360012.1, AC253572.2, AC005041.5, RFX3, ARHGAP15, ELL2, LETM2, AC087286.2, TLE4 
## Negative:  UBASH3B, MIATNB, CERS6, FLI1, PITPNC1, GANC, C22orf34, NINJ2, GALNT8, DHRSX 
##     RPH3AL, LINC02725, RAPGEF6, CMTM8, ICOS, IGF1R, TSHZ2, ZC4H2, SERINC5, LINC02245 
## PC_ 4 
## Positive:  IFNG-AS1, BTBD11, PLCB1, BACH2, RASGRF2, ITGA4, ATP10A, LRIG1, PCSK5, FOSB 
##     IL12RB2, PARP8, TGFBR2, DOCK10, DNAJA1, JUN, SMAD3, FOS, TXK, CBLB 
## Negative:  LINC02694, SEMA5A, AC013652.1, SNED1, MSC-AS1, FRY, PLD1, RUNX2, LINC01277, TNFRSF11A 
##     GARNL3, CDHR3, TMED8, ZC2HC1A, AL449214.1, LMO4, GTDC1, LINC01006, MCF2L2, EGLN3 
## PC_ 5 
## Positive:  AC021086.1, AP000446.1, AC090945.1, RSPH4A, FSIP2, IL6ST, PBX3, AC233976.1, AC093865.1, AC018845.3 
##     JUN, FHIT, GTSCR1, AP001977.1, SGPP1, WDR63, GCNT2, LINC01146, CDK14, AL139260.1 
## Negative:  PCAT1, MYBL1, AC242426.2, KLF8, FRY, ATP1B1, CFAP44-AS1, TSPAN15, TRIQK, PPP3CA 
##     AC025159.1, AC006008.1, LINC01483, AFDN, SCMH1, HLF, BTBD11, TAF12, PTPN13, FGGY 
##    Power SFT.R.sq  slope truncated.R.sq  mean.k. median.k. max.k.
## 1      1 0.161000 11.800         0.6200 63.80000  63.80000 67.500
## 2      2 0.035800  2.510         0.8490 33.20000  33.30000 37.300
## 3      3 0.000462  0.178         0.9010 17.50000  17.60000 21.000
## 4      4 0.110000 -2.250         0.8860  9.31000   9.39000 12.000
## 5      5 0.116000 -1.630         0.9870  5.02000   5.08000  6.940
## 6      6 0.131000 -1.190         0.8240  2.75000   2.78000  4.110
## 7      7 0.529000 -2.320         0.7700  1.53000   1.52000  2.770
## 8      8 0.760000 -2.840         0.8630  0.86200   0.84200  1.960
## 9      9 0.816000 -2.630         0.7800  0.49500   0.47500  1.440
## 10    10 0.245000 -4.670         0.0297  0.29100   0.26600  1.100
## 11    12 0.263000 -3.800         0.0529  0.10700   0.08780  0.683
## 12    14 0.224000 -4.580         0.0465  0.04420   0.02950  0.453
## 13    16 0.269000 -4.130         0.0646  0.02040   0.00993  0.313
## 14    18 0.281000 -3.620         0.0795  0.01060   0.00337  0.222
## 15    20 0.273000 -3.420         0.0700  0.00606   0.00120  0.160

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## [1] "No module detected"
## dynamicMods
##   0 
## 125
## Error in hclust(as.dist(MEDiss), method = "average") : 
##   The distance structure is empty.
## [1] "5016"
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : pseudoinverse used at -2.5478
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : neighborhood radius 0.30103
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : reciprocal condition number 2.7198e-15

## PC_ 1 
## Positive:  AOAH, ZEB2, AC243829.2, GNLY, C1orf21, CCL5, NKG7, TGFBR3, SGCD, VAV3 
##     SETBP1, DTHD1, JAZF1, LINC02384, PDGFD, NCAM1, PPP2R2B, SLC4A4, IKZF2, LYN 
## Negative:  ANK3, SERINC5, CAMK4, INPP4B, PRKCA, MGAT5, CDC14A, LEF1, CD28, MAML2 
##     PATJ, ARHGAP15, FOXP1, PAG1, TSHZ2, HIVEP2, PVT1, GNAQ, MAP3K1, CSGALNACT1 
## PC_ 2 
## Positive:  RPLP2, JUN, FOS, FOSB, AC022217.3, JUNB, DNAJA1, RPL36A, IER2, ANXA1 
##     TEX14, RGCC, TRBC2, IFRD1, NAMPT, CD69, TNFAIP3, AL109930.1, YPEL5, DDX3Y 
## Negative:  CHST11, RABGAP1L, PPP2R2B, ZEB2, NCALD, TGFBR3, JAZF1, AC243829.2, LINC00944, AOAH 
##     LINC02384, RUNX1, IKZF2, C1orf21, AL392086.3, SYTL2, CD247, VAV3, RORA, MCTP2 
## PC_ 3 
## Positive:  JUN, FOSB, FOS, DNAJA1, AC022217.3, JUNB, DDX3Y, IER2, TEX14, RGCC 
##     IFRD1, YPEL5, ANXA1, NAMPT, NR4A2, SLC2A3, ID2, TNFAIP3, LMNA, CD69 
## Negative:  PVT1, CD28, CHST11, UBASH3B, BTBD11, IL6R, XYLT1, TSPOAP1-AS1, CCR6, AC245060.5 
##     RUNX1, PLXNA4, PFKFB3, AC106795.3, ZMIZ1, SMAD3, AC012636.1, ZNF609, PHEX, MB21D2 
## PC_ 4 
## Positive:  ST8SIA1, ITGA4, AL353660.1, IFNG-AS1, LINC01934, KCNQ5, AC233976.1, TOX, TRPS1, GLCCI1 
##     THEMIS, CERS6, ASAP1, SMCHD1, HIVEP2, SLC9A9, HNRNPLL, BICDL1, MBNL1, FOXP1 
## Negative:  FRY, ADAM12, RUNX2, PTPN13, LINC00299, ZBTB16, MCF2L2, ADAM19, PDE4D, GAB2 
##     ADAM23, COL5A3, GREM2, MB21D2, CR1, MTUS2, NTN4, PLCB1, RNF165, TRIQK 
## PC_ 5 
## Positive:  TXK, CERS6, NCAM1, IGF1R, BNC2, LYN, CTBP2, KLRF1, EPB41L4A, PCSK5 
##     ZNF516, TSHZ2, KLRC3, ARHGAP32, AL392086.3, GCNT4, IKZF2, LEF1-AS1, SAMD12, SH2D1B 
## Negative:  THEMIS, MSC-AS1, HNRNPLL, KIAA0825, PAG1, LINC02694, PARP8, AC013652.1, PHACTR2, SLF1 
##     IFNG-AS1, HHAT, SMAD3, ADAM19, ANTXR2, EML4, DLEU2, PLEKHA5, TNFAIP3, PPP3CA 
##    Power SFT.R.sq slope truncated.R.sq  mean.k. median.k.  max.k.
## 1      1   0.0382  6.71         0.7530 1.11e+02  1.11e+02 117.000
## 2      2   0.0657  4.27         0.7390 5.72e+01  5.69e+01  63.500
## 3      3   0.1350 -3.54         0.5140 2.98e+01  2.94e+01  35.700
## 4      4   0.2870 -3.81         0.4660 1.58e+01  1.54e+01  20.700
## 5      5   0.1940 -2.59         0.3670 8.45e+00  8.17e+00  12.300
## 6      6   0.4500 -2.82         0.5660 4.60e+00  4.36e+00   7.470
## 7      7   0.6020 -2.58         0.6060 2.54e+00  2.36e+00   4.610
## 8      8   0.8400 -2.70         0.8800 1.43e+00  1.30e+00   3.140
## 9      9   0.9170 -2.73         0.9390 8.20e-01  7.19e-01   2.190
## 10    10   0.2940 -5.71         0.1760 4.79e-01  4.02e-01   1.560
## 11    12   0.3110 -4.59         0.2080 1.74e-01  1.28e-01   0.833
## 12    14   0.3090 -3.80         0.2090 6.93e-02  4.27e-02   0.465
## 13    16   0.2990 -3.25         0.1820 3.01e-02  1.49e-02   0.270
## 14    18   0.9290 -1.62         0.9090 1.42e-02  5.35e-03   0.161
## 15    20   0.2090 -2.25        -0.0153 7.19e-03  1.92e-03   0.099

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##   0   1   2   3 
## 171  18  18  12

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 4 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 4 module eigengenes in given set.
## $turquoise
##  [1] "AOAH"       "ZEB2"       "AC243829.2" "C1orf21"    "TGFBR3"    
##  [6] "SGCD"       "VAV3"       "SETBP1"     "DTHD1"      "JAZF1"     
## [11] "LINC02384"  "PDGFD"      "PPP2R2B"    "SLC4A4"     "MCTP2"     
## [16] "RABGAP1L"   "PRR5L"      "TOX"       
## 
## $brown
##  [1] "ANK3"    "SERINC5" "CAMK4"   "INPP4B"  "PRKCA"   "CDC14A"  "LEF1"   
##  [8] "MAML2"   "GNAQ"    "SMCHD1"  "ANTXR2"  "NELL2"  
## 
## $blue
##  [1] "JUN"        "FOS"        "FOSB"       "AC022217.3" "JUNB"      
##  [6] "DNAJA1"     "IER2"       "TEX14"      "RGCC"       "IFRD1"     
## [11] "NAMPT"      "CD69"       "TNFAIP3"    "YPEL5"      "DDX3Y"     
## [16] "EGR1"       "NR4A2"      "SLC2A3"    
## 
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## $turquoise
##  [1] "AOAH"       "ZEB2"       "AC243829.2" "C1orf21"    "TGFBR3"    
##  [6] "SGCD"       "VAV3"       "SETBP1"     "DTHD1"      "JAZF1"     
## [11] "LINC02384"  "PDGFD"      "PPP2R2B"    "SLC4A4"     "MCTP2"     
## [16] "RABGAP1L"   "PRR5L"      "TOX"       
## 
## $brown
##  [1] "ANK3"    "SERINC5" "CAMK4"   "INPP4B"  "PRKCA"   "CDC14A"  "LEF1"   
##  [8] "MAML2"   "GNAQ"    "SMCHD1"  "ANTXR2"  "NELL2"  
## 
## $blue
##  [1] "JUN"        "FOS"        "FOSB"       "AC022217.3" "JUNB"      
##  [6] "DNAJA1"     "IER2"       "TEX14"      "RGCC"       "IFRD1"     
## [11] "NAMPT"      "CD69"       "TNFAIP3"    "YPEL5"      "DDX3Y"     
## [16] "EGR1"       "NR4A2"      "SLC2A3"    
## 
## [1] "5020"
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : pseudoinverse used at -2.8254
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : neighborhood radius 0.50179
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : reciprocal condition number 1.3125e-15
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : There are other near singularities as well. 0.090619

## PC_ 1 
## Positive:  ARHGAP15, INPP4B, MBNL1, PAG1, KLF12, DPYD, ZBTB20, IQGAP2, RUNX1, MGAT5 
##     ANK3, THEMIS, CAMK4, AC016831.7, RORA, FOXP1, HIVEP2, CELF2, TNFAIP8, MDFIC 
## Negative:  NKG7, CCL5, GZMH, GZMA, CST7, AC243829.2, GNLY, AL360012.1, AOAH, CTSW 
##     ZEB2, LGALS1, TRDC, AC015849.1, KLRC3, CROCC, AC022217.3, BNC2, LYN, AC093567.1 
## PC_ 2 
## Positive:  ZEB2, AOAH, GNLY, C1orf21, CST7, CCL5, NKG7, SYNE1, TGFBR3, PDGFD 
##     ARHGAP26, GZMH, PPP2R2B, CMIP, KLRC3, SETBP1, AC243829.2, GZMA, NCALD, IKZF2 
## Negative:  PRKCA, INPP4B, ANK3, LEF1, TSHZ2, BCL2, GNAQ, CAMK4, BACH2, RBMS1 
##     NELL2, PLCL1, JUN, FOS, PCSK5, AL109930.1, FHIT, FAM13A, SESN3, FOSB 
## PC_ 3 
## Positive:  UBASH3B, ARID5B, RIPOR2, TSHZ2, ARHGEF3, SLC9A9, FHIT, TOX, FLI1, TTN 
##     LEF1, CDHR3, ATXN7L1, ICOS, CERS6, ASTN2, UPP2, MIATNB, LINC00243, ESR1 
## Negative:  JUN, FOSB, FOS, DNAJA1, AC022217.3, TNFAIP3, ERCC1, DDX3Y, IER2, TUBA1A 
##     TEX14, PDE4D, IFRD1, ANXA1, AL691403.1, CRY1, CROCC, RGCC, RBMS1, YPEL5 
## PC_ 4 
## Positive:  MYBL1, PDE4D, PLCB1, AL136456.1, LINC00299, RUNX2, FRY, ADAM12, PTPN13, BCL2 
##     KAT2B, CCR6, MB21D2, BTBD11, RORA, SLC4A10, MSC-AS1, DLEU1, MTUS2, AGAP1 
## Negative:  FOSB, IER2, JUN, FOS, CERS6, FHIT, ARID5B, DDX3Y, EGR1, ERCC1 
##     AC022217.3, KCNQ5, PELI1, AL353660.1, LEF1, AL109930.1, SESN3, SLC9A9, CYSLTR1, TSHZ2 
## PC_ 5 
## Positive:  LINC02694, AC013652.1, TBXAS1, NIBAN1, AHR, KIAA0825, MSC-AS1, DEC1, MCF2L2, PPP1R16B 
##     TOX, GTDC1, RBPJ, PTPN13, KIF20B, SLC9A9, ERI1, ATXN1, CYTOR, ANKRD28 
## Negative:  IGF1R, TXK, PDE3B, PCSK5, BACH2, MYO6, SNTG2, GNLY, NKG7, ABCB1 
##     EDA, TAFA1, SATB1-AS1, ADAM23, PRKN, NELL2, CERS6, KLRC3, GREM2, GZMA 
##    Power SFT.R.sq slope truncated.R.sq  mean.k. median.k.  max.k.
## 1      1   0.0311 -7.24        0.87100 1.07e+02  1.06e+02 113.000
## 2      2   0.0485 -4.72        0.82200 5.51e+01  5.49e+01  61.600
## 3      3   0.1420 -5.71        0.89500 2.87e+01  2.85e+01  34.200
## 4      4   0.1430 -4.17        0.84600 1.50e+01  1.49e+01  19.200
## 5      5   0.1840 -3.15        0.92300 7.97e+00  7.81e+00  10.900
## 6      6   0.2450 -2.57        0.65900 4.27e+00  4.14e+00   6.270
## 7      7   0.4060 -2.86        0.51600 2.31e+00  2.21e+00   3.970
## 8      8   0.7660 -3.33        0.75000 1.27e+00  1.18e+00   2.720
## 9      9   0.2500 -6.37        0.03580 7.07e-01  6.48e-01   1.950
## 10    10   0.8790 -2.97        0.85700 4.01e-01  3.49e-01   1.450
## 11    12   0.3230 -4.43        0.15900 1.38e-01  1.06e-01   0.864
## 12    14   0.3030 -3.43        0.14000 5.26e-02  3.29e-02   0.555
## 13    16   0.3230 -3.89        0.19400 2.26e-02  1.05e-02   0.372
## 14    18   0.2110 -3.44       -0.00969 1.10e-02  3.45e-03   0.255
## 15    20   0.2900 -2.79        0.19600 5.97e-03  1.14e-03   0.178

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##   0   1   2 
## 184  15  10

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 3 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 3 module eigengenes in given set.
## $blue
##  [1] "NKG7"   "CCL5"   "GZMH"   "GZMA"   "CST7"   "GNLY"   "CTSW"   "TRDC"  
##  [9] "GALNT3" "MAP3K8"
## 
## $turquoise
##  [1] "AC022217.3" "JUN"        "FOS"        "FOSB"       "TUBA1A"    
##  [6] "DNAJA1"     "ERCC1"      "DDX3Y"      "IER2"       "IFRD1"     
## [11] "AL691403.1" "SLC2A3"     "EGR1"       "GALM"       "TNF"       
## 
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## $blue
##  [1] "NKG7"   "CCL5"   "GZMH"   "GZMA"   "CST7"   "GNLY"   "CTSW"   "TRDC"  
##  [9] "GALNT3" "MAP3K8"
## 
## $turquoise
##  [1] "AC022217.3" "JUN"        "FOS"        "FOSB"       "TUBA1A"    
##  [6] "DNAJA1"     "ERCC1"      "DDX3Y"      "IER2"       "IFRD1"     
## [11] "AL691403.1" "SLC2A3"     "EGR1"       "GALM"       "TNF"       
## 
## [1] "5035"
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : pseudoinverse used at -2.7649
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : neighborhood radius 0.30103
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,
## : reciprocal condition number 4.0939e-16

## PC_ 1 
## Positive:  INPP4B, ANK3, CAMK4, SERINC5, PRKCA, LEF1, CDC14A, TSHZ2, JUN, PAG1 
##     FOS, FOSB, ARHGAP15, RPL13, RPLP2, RPL28, JUNB, RPLP1, RPL41, RPS12 
## Negative:  ZEB2, C1orf21, AOAH, GNLY, TGFBR3, SYNE1, OSBPL5, IKZF2, SAMD3, KLRC3 
##     VAV3, KLRD1, LYN, AC243829.2, NCALD, AC093865.1, SGCD, PDGFD, PPP2R2B, SETBP1 
## PC_ 2 
## Positive:  PAG1, RORA, LRRC8C, ADAM19, MGAT5, ARHGAP15, MDFIC, TTC39C, RUNX1, GPRIN3 
##     SOS1, PDE4B, AFF1, RUNX2, FRY, XYLT1, SERINC5, BCL2, THEMIS, CAMK4 
## Negative:  RPL13A, RPL13, RPLP2, RPL28, RPLP1, RPL41, RPS2, RPS12, FOSB, JUN 
##     FOS, JUNB, IER2, DNAJA1, AC022217.3, IFRD1, TUBA1A, EIF4A3, TEX14, CROCC 
## PC_ 3 
## Positive:  JUN, FOSB, JUNB, FOS, DNAJA1, IFRD1, NAMPT, IER2, AC022217.3, YPEL5 
##     NR4A2, SLC2A3, RGCC, EIF4A3, TNFAIP3, MBNL1, CROCC, TUBA1A, ATP1B3, GALM 
## Negative:  PVT1, TSPAN18, RNF157, IRAK2, NINJ2, XYLT1, MEOX1, AL365255.1, TIAM1, RILPL1 
##     UBASH3B, LINC01550, ZNF594, ZMIZ1-AS1, AP002383.2, TSHZ2, AC027097.2, AC068286.2, AC079760.1, CEP89 
## PC_ 4 
## Positive:  FRY, PTPN13, AL136456.1, PDE4D, COL5A3, ADAM12, CCR6, MTUS2, SASH1, LINC01644 
##     ALOX5, LINC00299, ANK1, MCF2L2, RUNX2, GREM2, ERN1, DAB1, AUTS2, PLCB1 
## Negative:  SESN3, ST8SIA1, FHIT, IFNG-AS1, AL353660.1, LEF1, TOX, UBASH3B, TSHZ2, ARID5B 
##     MAML2, CERS6, AC233976.1, AC139720.1, ESR1, C12orf42, SLC9A9, MBNL1, APP, CARMIL1 
## PC_ 5 
## Positive:  LINC02694, SEMA5A, LINC01362, NIBAN1, DLEU2, GTDC1, ATXN1, AC013652.1, CYTOR, SAMSN1 
##     TOX, SLF1, SNED1, MSC-AS1, GAB2, TTN, PHACTR2, ADAM19, RGS1, MCF2L2 
## Negative:  IGF1R, PCSK5, ADAM23, BACH2, EDA, RNF157, PRKN, NELL2, NR3C2, NEXMIF 
##     PLXNA4, CR1, SATB1-AS1, ZNF516, SNTG2, AK5, GREM2, MTSS1, MCTP2, FAM13A 
##    Power SFT.R.sq  slope truncated.R.sq  mean.k. median.k.  max.k.
## 1      1    0.184 -19.30          0.890 114.0000  1.15e+02 121.000
## 2      2    0.463 -14.20          0.865  59.0000  5.87e+01  66.600
## 3      3    0.410  -7.32          0.852  30.9000  3.07e+01  37.300
## 4      4    0.481  -5.21          0.859  16.5000  1.63e+01  21.800
## 5      5    0.571  -3.44          0.879   8.9400  8.74e+00  13.100
## 6      6    0.747  -3.25          0.862   4.9500  4.70e+00   8.760
## 7      7    0.825  -2.83          0.816   2.8100  2.55e+00   6.140
## 8      8    0.831  -2.54          0.784   1.6400  1.40e+00   4.480
## 9      9    0.770  -2.29          0.742   0.9850  7.83e-01   3.360
## 10    10    0.761  -1.96          0.790   0.6110  4.33e-01   2.580
## 11    12    0.762  -1.62          0.845   0.2610  1.37e-01   1.710
## 12    14    0.758  -1.40          0.843   0.1280  4.40e-02   1.230
## 13    16    0.761  -1.27          0.852   0.0702  1.46e-02   0.902
## 14    18    0.743  -1.15          0.888   0.0424  4.89e-03   0.674
## 15    20    0.825  -1.02          0.947   0.0273  1.70e-03   0.508

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##   0   1   2   3   4   5   6   7 
## 102  28  21  21  16  15  13  10

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 8 module eigengenes in given set.
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 5 module eigengenes in given set.
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 4 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 4 module eigengenes in given set.

## $black
##  [1] "INPP4B"     "ANK3"       "CAMK4"      "SERINC5"    "PRKCA"     
##  [6] "LEF1"       "CDC14A"     "TSHZ2"      "PAG1"       "ARHGAP15"  
## [11] "FHIT"       "BCL2"       "HIVEP2"     "RORA"       "LRRC8C"    
## [16] "ADAM19"     "MGAT5"      "MDFIC"      "TTC39C"     "RUNX1"     
## [21] "GPRIN3"     "SOS1"       "PDE4B"      "AFF1"       "RUNX2"     
## [26] "FRY"        "XYLT1"      "THEMIS"     "CASK"       "RASGRF2"   
## [31] "ATF7IP2"    "ERN1"       "MBNL1"      "RNF157"     "KANK1"     
## [36] "AL136456.1" "PDE4D"      "CCR6"       "MCF2L2"     "DAB1"      
## [41] "SESN3"      "MAML2"      "CERS6"      "AC139720.1" "ZBTB20"    
## [46] "PHACTR2"    "IGF1R"      "PCSK5"      "BACH2"      "PRKN"      
## [51] "NELL2"      "NR3C2"      "NEXMIF"     "SATB1-AS1"  "ZNF516"    
## [56] "SORCS3"     "SAMD12"     "BTBD11"     "SLAMF1"    
## 
## $blue
##  [1] "JUN"        "FOS"        "FOSB"       "RPL13"      "RPLP2"     
##  [6] "RPL28"      "JUNB"       "RPLP1"      "RPL41"      "RPS12"     
## [11] "RPL13A"     "RPS2"       "IER2"       "DNAJA1"     "AC022217.3"
## [16] "IFRD1"      "TUBA1A"     "EIF4A3"     "TEX14"      "CROCC"     
## [21] "NAMPT"      "AL360012.1" "SLC10A1"    "YPEL5"      "NR4A2"     
## [26] "SLC2A3"     "RGCC"       "TNFAIP3"    "ATP1B3"     "GALM"      
## [31] "TSC22D2"    "EGR1"       "RGS1"       "LMNA"      
## 
## $green
##  [1] "ZEB2"       "C1orf21"    "AOAH"       "TGFBR3"     "SYNE1"     
##  [6] "IKZF2"      "SAMD3"      "VAV3"       "KLRD1"      "AC243829.2"
## [11] "NCALD"      "AC093865.1" "SGCD"       "PDGFD"      "PPP2R2B"   
## [16] "SETBP1"     "MCTP2"      "AGAP1"      "LINC02384"  "LINC00299" 
## [21] "AUTS2"      "PLCB1"      "LATS2"      "TOX"        "ATXN7L1"   
## [26] "EFNA5"      "ARHGAP26"   "MYBL1"      "DOCK5"      "NCAM1"     
## [31] "ARHGEF28"  
## 
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## $black
##  [1] "INPP4B"     "ANK3"       "CAMK4"      "SERINC5"    "PRKCA"     
##  [6] "LEF1"       "CDC14A"     "TSHZ2"      "PAG1"       "ARHGAP15"  
## [11] "FHIT"       "BCL2"       "HIVEP2"     "RORA"       "LRRC8C"    
## [16] "ADAM19"     "MGAT5"      "MDFIC"      "TTC39C"     "RUNX1"     
## [21] "GPRIN3"     "SOS1"       "PDE4B"      "AFF1"       "RUNX2"     
## [26] "FRY"        "XYLT1"      "THEMIS"     "CASK"       "RASGRF2"   
## [31] "ATF7IP2"    "ERN1"       "MBNL1"      "RNF157"     "KANK1"     
## [36] "AL136456.1" "PDE4D"      "CCR6"       "MCF2L2"     "DAB1"      
## [41] "SESN3"      "MAML2"      "CERS6"      "AC139720.1" "ZBTB20"    
## [46] "PHACTR2"    "IGF1R"      "PCSK5"      "BACH2"      "PRKN"      
## [51] "NELL2"      "NR3C2"      "NEXMIF"     "SATB1-AS1"  "ZNF516"    
## [56] "SORCS3"     "SAMD12"     "BTBD11"     "SLAMF1"    
## 
## $blue
##  [1] "JUN"        "FOS"        "FOSB"       "RPL13"      "RPLP2"     
##  [6] "RPL28"      "JUNB"       "RPLP1"      "RPL41"      "RPS12"     
## [11] "RPL13A"     "RPS2"       "IER2"       "DNAJA1"     "AC022217.3"
## [16] "IFRD1"      "TUBA1A"     "EIF4A3"     "TEX14"      "CROCC"     
## [21] "NAMPT"      "AL360012.1" "SLC10A1"    "YPEL5"      "NR4A2"     
## [26] "SLC2A3"     "RGCC"       "TNFAIP3"    "ATP1B3"     "GALM"      
## [31] "TSC22D2"    "EGR1"       "RGS1"       "LMNA"      
## 
## $green
##  [1] "ZEB2"       "C1orf21"    "AOAH"       "TGFBR3"     "SYNE1"     
##  [6] "IKZF2"      "SAMD3"      "VAV3"       "KLRD1"      "AC243829.2"
## [11] "NCALD"      "AC093865.1" "SGCD"       "PDGFD"      "PPP2R2B"   
## [16] "SETBP1"     "MCTP2"      "AGAP1"      "LINC02384"  "LINC00299" 
## [21] "AUTS2"      "PLCB1"      "LATS2"      "TOX"        "ATXN7L1"   
## [26] "EFNA5"      "ARHGAP26"   "MYBL1"      "DOCK5"      "NCAM1"     
## [31] "ARHGEF28"  
## 
## [1] "5026"
## PC_ 1 
## Positive:  PAG1, ARHGAP15, SKAP1, RORA, RUNX1, SOS1, CHST11, ATXN1, INPP4B, DOCK10 
##     CASK, GPRIN3, ZBTB20, LINC01619, FOXP1, ADAM19, CAMK4, DPYD, ANK3, PPP1R16B 
## Negative:  RPL13, RPLP2, RPL41, RPS2, RPS18, JUN, FOSB, FOS, JUNB, DNAJA1 
##     AC022217.3, TEX14, IER2, LINC00910, CROCC, EIF4A3, TUBA1A, AL691403.1, IFRD1, SLC38A2 
## PC_ 2 
## Positive:  TSHZ2, LEF1, UBASH3B, CERS6, APBA2, ICOS, ARID5B, AL353660.1, FOXP1, CMTM8 
##     KCNQ5, CDHR3, IGF1R, AK5, FAAH2, FHIT, GCNT4, GRK5, AC233976.1, SLC9A9 
## Negative:  TNFAIP3, JUN, FOSB, PDE4D, FRY, FOS, DNAJA1, IFRD1, ID2, AC022217.3 
##     SLC38A2, PLCB1, RORA, ANXA1, CROCC, IER2, ADAM12, TEX14, GALM, TUBA1A 
## PC_ 3 
## Positive:  ZEB2, C1orf21, AOAH, LYN, LINC00299, PLCB1, KLRK1, PDGFD, SAMD3, SETBP1 
##     AGAP1, ADAM12, PPP2R2B, NCALD, FAM49A, LINC02384, SGCD, MYBL1, OSBPL5, SYTL2 
## Negative:  FOSB, INPP4B, ANK3, JUN, FOS, JUNB, LEF1, DNAJA1, IFRD1, ARHGAP15 
##     AC022217.3, SLC38A2, CAMK4, IER2, MBNL1, TUBA1A, EIF4A3, GALM, RGCC, RPS2 
## PC_ 4 
## Positive:  AL136456.1, PDE4D, BCL2, CR1, EDA, DST, ADAM12, PTPN13, PCSK5, BACH2 
##     FAM13A, CCR6, BTBD11, IGF1R, SAMD12, AL589693.1, FRY, PLXNA4, GREM2, ANK1 
## Negative:  ZEB2, AOAH, C1orf21, TGFBR3, ATXN1, NR3C1, PRR5L, TOX, LINC02694, SLF1 
##     CYTOR, PPP1R16B, SETBP1, FAM49A, LMNA, KLRK1, GRK5, LYN, NIBAN1, RGS1 
## PC_ 5 
## Positive:  AOAH, C1orf21, IGF1R, KLRK1, LYN, ZEB2, VAV3, PCSK5, FAM49A, APBA2 
##     OSBPL5, MCTP2, KCNQ5, BACH2, SFMBT2, CERS6, KLRF1, PDGFD, NELL2, LINC01934 
## Negative:  ADAM19, LINC02694, NIBAN1, TIAM1, FRY, AC013652.1, PPP1R16B, SLCO3A1, TBXAS1, MCF2L2 
##     SOS1, PAG1, GAB2, F5, FGF14, PLEKHA5, NR3C1, PCAT1, ETV6, KIAA0825 
##    Power SFT.R.sq  slope truncated.R.sq mean.k. median.k.  max.k.
## 1      1   0.0753  42.20       -0.16500 94.6000  9.44e+01 100.000
## 2      2   0.0517  -5.32        0.62100 48.5000  4.83e+01  54.500
## 3      3   0.2850 -37.70        0.13900 25.2000  2.49e+01  30.000
## 4      4   0.5850  -8.74        0.64900 13.2000  1.29e+01  16.700
## 5      5   0.8120  -7.83        0.78300  7.0000  6.74e+00  10.500
## 6      6   0.2590 -11.40        0.04930  3.7700  3.54e+00   6.960
## 7      7   0.2610  -8.46        0.05220  2.0700  1.87e+00   4.860
## 8      8   0.8170  -3.46        0.84600  1.1600  1.01e+00   3.540
## 9      9   0.3030  -5.64        0.12100  0.6680  5.42e-01   2.660
## 10    10   0.2970  -6.27        0.09660  0.3970  2.93e-01   2.050
## 11    12   0.1820  -2.86        0.00538  0.1570  8.84e-02   1.280
## 12    14   0.3170  -4.67        0.13000  0.0733  2.71e-02   0.873
## 13    16   0.2090  -3.10        0.01010  0.0405  8.79e-03   0.678
## 14    18   0.1320  -2.17        0.04240  0.0255  2.87e-03   0.534
## 15    20   0.1560  -2.13       -0.01260  0.0174  9.04e-04   0.424

## TOM calculation: adjacency..
## ..will not use multithreading.
##  Fraction of slow calculations: 0.000000
## ..connectivity..
## ..matrix multiplication (system BLAS)..
## ..normalization..
## ..done.

## dynamicMods
##  1  2  3  4  5  6  7  8  9 
## 34 28 28 22 18 18 14 13 12

##  mergeCloseModules: Merging modules whose distance is less than 0.5
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 9 module eigengenes in given set.
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 6 module eigengenes in given set.
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 5 module eigengenes in given set.
##    Calculating new MEs...
##    multiSetMEs: Calculating module MEs.
##      Working on set 1 ...
##      moduleEigengenes: Calculating 5 module eigengenes in given set.

## $blue
##  [1] "PAG1"        "ARHGAP15"    "SKAP1"       "RUNX1"       "SOS1"       
##  [6] "CHST11"      "ATXN1"       "INPP4B"      "DOCK10"      "CASK"       
## [11] "GPRIN3"      "ZBTB20"      "LINC01619"   "FOXP1"       "ADAM19"     
## [16] "CAMK4"       "DPYD"        "ANK3"        "PPP1R16B"    "SLCO3A1"    
## [21] "TNFAIP8"     "RABGAP1L"    "MGAT5"       "BCL2"        "LEF1"       
## [26] "UBASH3B"     "ARID5B"      "CMTM8"       "FAAH2"       "FHIT"       
## [31] "GCNT4"       "AC233976.1"  "SLC9A9"      "SLC16A10"    "SH3RF3"     
## [36] "AFF3"        "SFMBT2"      "SLC22A23"    "AGAP1"       "PPP2R2B"    
## [41] "NCALD"       "MYBL1"       "SYTL2"       "IL18RAP"     "MBNL1"      
## [46] "PLCL1"       "ACVR2A"      "SESN3"       "BTBD11"      "PRKCA"      
## [51] "TGFBR3"      "NR3C1"       "PRR5L"       "TOX"         "LINC02694"  
## [56] "SLF1"        "NIBAN1"      "PAM"         "MIR4435-2HG" "LINC01934"  
## [61] "TIAM1"       "AC013652.1"  "GAB2"        "FGF14"       "PCAT1"      
## [66] "ETV6"        "KIAA0825"    "ZNF365"      "SEMA5A"      "CSGALNACT1" 
## [71] "SNED1"       "FER"         "TRPS1"       "LDLRAD4"     "PTPRM"      
## [76] "ITGA4"       "SMAD3"       "PHACTR2"     "PELI2"       "MIR181A1HG" 
## 
## $turquoise
##  [1] "RORA"       "PDE4D"      "FRY"        "PLCB1"      "ADAM12"    
##  [6] "LINC00299"  "AL136456.1" "RUNX2"      "CR1"        "EDA"       
## [11] "DST"        "PTPN13"     "BACH2"      "FAM13A"     "CCR6"      
## [16] "SAMD12"     "PLXNA4"     "GREM2"      "ANK1"       "ZNF516"    
## [21] "MTUS2"      "NELL2"      "MCF2L2"     "GRIP1"      "SUSD4"     
## [26] "PZP"        "ADAM23"     "RASGEF1A"   "MB21D2"     "AL137789.1"
## [31] "LINC00511"  "ZBTB7C"     "NETO2"      "MSC-AS1"   
## 
## $green
##  [1] "RPL13"      "RPLP2"      "RPL41"      "RPS2"       "RPS18"     
##  [6] "JUN"        "FOSB"       "FOS"        "JUNB"       "DNAJA1"    
## [11] "AC022217.3" "TEX14"      "IER2"       "LINC00910"  "CROCC"     
## [16] "EIF4A3"     "TUBA1A"     "AL691403.1" "IFRD1"      "SLC38A2"   
## [21] "ID2"        "ANXA1"      "AL360012.1" "AC253572.2" "CSKMT"     
## [26] "TNFAIP3"    "GALM"       "LMNA"       "RGCC"       "RGS1"      
## [31] "NAMPT"     
## 
## $black
##  [1] "TSHZ2"      "CERS6"      "APBA2"      "ICOS"       "AL353660.1"
##  [6] "KCNQ5"      "CDHR3"      "IGF1R"      "AK5"        "GRK5"      
## [11] "PCSK5"      "AL589693.1" "SATB1-AS1"  "NBEA"      
## 
## $brown
##  [1] "ZEB2"      "C1orf21"   "AOAH"      "LYN"       "KLRK1"     "PDGFD"    
##  [7] "SAMD3"     "SETBP1"    "FAM49A"    "LINC02384" "SGCD"      "OSBPL5"   
## [13] "ADGRG1"    "MCTP2"     "ADGRG5"    "GNLY"      "CYTOR"     "IKZF2"    
## [19] "VAV3"      "KLRF1"     "CD8B"      "TBXAS1"    "F5"        "PLEKHA5"  
## [25] "KIF20B"    "TPRG1"     "IFNG-AS1"  "LRIG1"    
## 
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## [1] "1636/10000 permutations failed the Mann-Whitney test."
## [1] "0/10000 permutations failed the Mann-Whitney test."
## $blue
##  [1] "PAG1"        "ARHGAP15"    "SKAP1"       "RUNX1"       "SOS1"       
##  [6] "CHST11"      "ATXN1"       "INPP4B"      "DOCK10"      "CASK"       
## [11] "GPRIN3"      "ZBTB20"      "LINC01619"   "FOXP1"       "ADAM19"     
## [16] "CAMK4"       "DPYD"        "ANK3"        "PPP1R16B"    "SLCO3A1"    
## [21] "TNFAIP8"     "RABGAP1L"    "MGAT5"       "BCL2"        "LEF1"       
## [26] "UBASH3B"     "ARID5B"      "CMTM8"       "FAAH2"       "FHIT"       
## [31] "GCNT4"       "AC233976.1"  "SLC9A9"      "SLC16A10"    "SH3RF3"     
## [36] "AFF3"        "SFMBT2"      "SLC22A23"    "AGAP1"       "PPP2R2B"    
## [41] "NCALD"       "MYBL1"       "SYTL2"       "IL18RAP"     "MBNL1"      
## [46] "PLCL1"       "ACVR2A"      "SESN3"       "BTBD11"      "PRKCA"      
## [51] "TGFBR3"      "NR3C1"       "PRR5L"       "TOX"         "LINC02694"  
## [56] "SLF1"        "NIBAN1"      "PAM"         "MIR4435-2HG" "LINC01934"  
## [61] "TIAM1"       "AC013652.1"  "GAB2"        "FGF14"       "PCAT1"      
## [66] "ETV6"        "KIAA0825"    "ZNF365"      "SEMA5A"      "CSGALNACT1" 
## [71] "SNED1"       "FER"         "TRPS1"       "LDLRAD4"     "PTPRM"      
## [76] "ITGA4"       "SMAD3"       "PHACTR2"     "PELI2"       "MIR181A1HG" 
## 
## $turquoise
##  [1] "RORA"       "PDE4D"      "FRY"        "PLCB1"      "ADAM12"    
##  [6] "LINC00299"  "AL136456.1" "RUNX2"      "CR1"        "EDA"       
## [11] "DST"        "PTPN13"     "BACH2"      "FAM13A"     "CCR6"      
## [16] "SAMD12"     "PLXNA4"     "GREM2"      "ANK1"       "ZNF516"    
## [21] "MTUS2"      "NELL2"      "MCF2L2"     "GRIP1"      "SUSD4"     
## [26] "PZP"        "ADAM23"     "RASGEF1A"   "MB21D2"     "AL137789.1"
## [31] "LINC00511"  "ZBTB7C"     "NETO2"      "MSC-AS1"   
## 
## $green
##  [1] "RPL13"      "RPLP2"      "RPL41"      "RPS2"       "RPS18"     
##  [6] "JUN"        "FOSB"       "FOS"        "JUNB"       "DNAJA1"    
## [11] "AC022217.3" "TEX14"      "IER2"       "LINC00910"  "CROCC"     
## [16] "EIF4A3"     "TUBA1A"     "AL691403.1" "IFRD1"      "SLC38A2"   
## [21] "ID2"        "ANXA1"      "AL360012.1" "AC253572.2" "CSKMT"     
## [26] "TNFAIP3"    "GALM"       "LMNA"       "RGCC"       "RGS1"      
## [31] "NAMPT"     
## 
## $brown
##  [1] "ZEB2"      "C1orf21"   "AOAH"      "LYN"       "KLRK1"     "PDGFD"    
##  [7] "SAMD3"     "SETBP1"    "FAM49A"    "LINC02384" "SGCD"      "OSBPL5"   
## [13] "ADGRG1"    "MCTP2"     "ADGRG5"    "GNLY"      "CYTOR"     "IKZF2"    
## [19] "VAV3"      "KLRF1"     "CD8B"      "TBXAS1"    "F5"        "PLEKHA5"  
## [25] "KIF20B"    "TPRG1"     "IFNG-AS1"  "LRIG1"
saveRDS(mods, "~/gibbs/DOGMAMORPH/Ranalysis/modules/MemoryCD4Participant.rds")

consensusmods<-MergeMods(mods, height = 1.5)

## $rowInd
##  [1]  9 18 25  3 16 30 28 36 32  8 24 12 27 22 34  4 17 31 29 10  6 14  5 35 13
## [26]  7 11 23  2 20 15 19 37  1 26 21 33
## 
## $colInd
##  [1]  8 22 27 12 24 34 31 17  4 37 33 21 19  1 26 15 29 10 13  7 35  5 14  6 11
## [26] 23 20  2  9 18  3 25 30 28 16 36 32
## 
## $Rowv
## NULL
## 
## $Colv
## NULL
## NULL
saveRDS(consensusmods, "~/gibbs/DOGMAMORPH/Ranalysis/modules/MemoryCD4Participant_consensus.rds")

rationale for merging other ways, in a further doc I’ll look at differences in their specificity/batch

The previous method has the goal of capturing the total variability across individuals. But, that may be very noisy, capturing a lot of genes that are not related. This method looks to identify genes that have a core more set. In this case I’m going step by step to explain, but in practice this can just be used as the below function.

#change into just a list of modules not a list of lists of modules 
mods_flat<-unlist(mods, recursive = FALSE)
#now we get a list of all unique genes across all modules 
genes<-unique(unlist(mods_flat))
#then we need to calculate a matrix of gene x gene to get the percentage of modules that gene occurs in that another gene also occurs in 

#now we'll iterate through genes to find joint membership across modules for each 
#this step is computationally expensive unless we first make this lookup table
#lookup table just has each gene on the column and each module on the rows 
# a row has a 1 if the gene is present in the module, 0 otherwise 
lookup<-data.frame(matrix(0, nrow = length(mods_flat), ncol=length(genes)))
colnames(lookup)<-genes
for(i in genes){
  for(j in 1:length(mods_flat)){
    lookup[j,i]<-sum(i %in% mods_flat[[j]])
  }
}
#now we can use that lookup to generate results 
#first we make a 0 matrix. 
results_frame<-data.frame(matrix(0, nrow = length(genes), ncol=length(genes)))
colnames(results_frame)<-rownames(results_frame)<-genes

#then iterate through and find what proportion of modules each gene coocurs in 
#it's important that its divided by the total # of modules to reduce influence of singletongene-module pairs. 
for (i in genes){
  for (j in genes){
    results_frame[i,j]<-sum(lookup[[i]]&lookup[[j]])/nrow(lookup)
  }
}

#then we can querry specific genes of interest, for example tox 
sort(results_frame["TOX",], decreasing=TRUE)
## Warning in xtfrm.data.frame(x): cannot xtfrm data frames
##       PPP2R2B       TOX       ZEB2       AOAH AC243829.2    C1orf21      PDGFD
## TOX 0.1081081 0.1081081 0.08108108 0.08108108 0.08108108 0.08108108 0.08108108
##         TGFBR3       VAV3      MCTP2     SETBP1      AGAP1  LINC02384
## TOX 0.08108108 0.08108108 0.08108108 0.05405405 0.05405405 0.05405405
##          NCALD      MYBL1      KLRD1      IKZF2      DTHD1 AC093865.1
## TOX 0.05405405 0.05405405 0.05405405 0.05405405 0.05405405 0.05405405
##           SGCD   RABGAP1L      PRR5L      JAZF1       AFF3     INPP4B
## TOX 0.05405405 0.05405405 0.05405405 0.02702703 0.02702703 0.02702703
##           PAG1       ANK3      CAMK4   ARHGAP15       CASK       LEF1
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##         DOCK10     ADAM19      PRKCA      PCAT1      FAAH2    TNFAIP8
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##           FHIT      PLCL1      SESN3      CMTM8      GCNT4    LDLRAD4
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##         SLC9A9    UBASH3B      ITGA4  LINC01934      SYTL2  LINC00299
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          PLCB1     BTBD11    IL18RAP     NIBAN1  LINC01619      FOXP1
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          MGAT5     GPRIN3 CSGALNACT1 AC233976.1       NKG7       CCL5
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##           GZMH       GNLY     FGFBP2       GZMB      KLRF1       BCL2
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##           SOS1      TIAM1     ACVR2A      SMAD3   PPP1R16B      SNED1
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##         SEMA5A       GAB2 AC013652.1     CHST11  LINC02694       PRF1
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          KLRK1       GZMA       CST7      KLRC2       CD8A      KLRC3
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          TRGC2      EFHD2       NCR1        LYN       TRDC    TRG-AS1
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##           GAB3        A2M        PZP        ID2       RGS1      MBNL1
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##         ZBTB20      SKAP1       DPYD     ARID5B MIR4435-2HG   ARHGAP26
## TOX 0.02702703 0.02702703 0.02702703 0.02702703  0.02702703 0.02702703
##          SYNE1      SAMD3     SLC4A4      RUNX1    PHACTR2      AUTS2
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          LATS2    ATXN7L1      EFNA5      DOCK5      NCAM1   ARHGEF28
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          ATXN1    SLCO3A1   SLC16A10     SH3RF3     SFMBT2   SLC22A23
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          NR3C1       SLF1        PAM      FGF14       ETV6   KIAA0825
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##         ZNF365        FER      TRPS1      PTPRM      PELI2 MIR181A1HG ADGRG5
## TOX 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703      0
##     HIVEP3 ARHGAP10 KIAA1671 AC105402.3 BANK1 IGKC VCAN HDAC9 CDK14 BACH2
## TOX      0        0        0          0     0    0    0     0     0     0
##     UBE2E2 TRIO BMP2K CCSER1 LARGE1 RPL41 RPL13 RPLP2 RPL28 ACTB RPS19 RPS2 B2M
## TOX      0    0     0      0      0     0     0     0     0    0     0    0   0
##     LTB EEF1A1 PFN1 ACTG1 CFL1 GAPDH TRBC1 SERINC5 CDC14A HIVEP2 MDFIC RASGRF2
## TOX   0      0    0     0    0     0     0       0      0      0     0       0
##     AKT3 MAML2 PVT1 GNAQ NR3C2 MAP3K1 FMN1 TSHZ2 TXK PARP8 THEMIS RORA ITGB1
## TOX    0     0    0    0     0      0    0     0   0     0      0    0     0
##     ST8SIA1 CDHR3 SGPP2 TTN AL353660.1 F5 LINC01727 CCDC141 ABLIM1 BICDL1 PHEX
## TOX       0     0     0   0          0  0         0       0      0      0    0
##     GLCCI1 NELL2 DISC1 PCED1B MLLT3 AL589693.1 ADAM12 PTPN13 MCF2L2 CCR6 FRY
## TOX      0     0     0      0     0          0      0      0      0    0   0
##     COL5A3 PLD1 RUNX2 CEP112 AL136456.1 CYTH3 HLF AF165147.1 IL18R1 DPP4 ANTXR2
## TOX      0    0     0      0          0     0   0          0      0    0      0
##     RBMS1 IFNG-AS1 TPRG1 LRIG1 IL12RB2 COLQ PDE4B RNF157 MB21D2 CELF2 SMCHD1
## TOX     0        0     0     0       0    0     0      0      0     0      0
##     LRRC8C FOXO1 FKBP5 TNFAIP3 SNX9 RNF19A PELI1 AC139720.1 RPS18 RPLP1 RPL10
## TOX      0     0     0       0    0      0     0          0     0     0     0
##     CRIP1 PLCG2 CTSW PIK3AP1 XACT AC078778.1 MERTK CASC15 ITGA9-AS1 MYB HMGA2
## TOX     0     0    0       0    0          0     0      0         0   0     0
##     SLC24A3 ST3GAL6 UGGT2 THSD7A THRB LNCAROD RNF217-AS1 EMID1 ITGA9 BACE2 PATJ
## TOX       0       0     0      0    0       0          0     0     0     0    0
##     ESR1 AC005237.1 EGLN3 FUT8 KAT2B RBPJ IL7 ZC2HC1A ANKRD44 FYN CYTH1 ARAP2
## TOX    0          0     0    0     0    0   0       0       0   0     0     0
##     SIK3 CNOT6L PCNX1 GATA3 AP003086.1 LINC00511 PI16 JUNB FOS JUN TEX14 FOSB
## TOX    0      0     0     0          0         0    0    0   0   0     0    0
##     LMNA ANXA1 AC022217.3 LINC00910 CROCC EGR1 AC103591.3 KLF12 AFF1 SCFD2
## TOX    0     0          0         0     0    0          0     0    0     0
##     SAMD12 ADK ITFG1 FBXL17 SLC16A1-AS1 AC008403.3 TTC7B KANK1 PLXNA4 DST
## TOX      0   0     0      0           0          0     0     0      0   0
##     EPHA1-AS1 CERS6 FAM13A ADTRP LINC01725 APP ADAM23 EDA GREM2 MTSS1 LINC01362
## TOX         0     0      0     0         0   0      0   0     0     0         0
##     ICOS GPR155 SBF2 POC1B SRBD1 SMYD3 MAMLD1 RPL13A RPL19 RPS23 RPS28 RPS8
## TOX    0      0    0     0     0     0      0      0     0     0     0    0
##     TMSB10 RPL11 RPL37A RPL18A RPL37 FAU RPL23A RPS26 S100A6 TBXAS1 SLC9A7
## TOX      0     0      0      0     0   0      0     0      0      0      0
##     ST8SIA6 FCRL3 MAP3K8 GAS7 GRAMD1B TOX2 EBF1 HLA-DRA LRRK2 TCF4 TBC1D9
## TOX       0     0      0    0       0    0    0       0     0    0      0
##     KDM4A-AS1 KHDRBS2 XRCC2 KMO OSBPL5 ATP8B4 MYO3B RIN3 FAM49A CEP78 ATP8A1
## TOX         0       0     0   0      0      0     0    0      0     0      0
##     MYO6 TTC39C KLHL5 KIF2C DEPDC1B RRM2 CDCA2 POLQ NCAPG E2F7 BUB1B NCAPH
## TOX    0      0     0     0       0    0     0    0     0    0     0     0
##     RBBP8 DIAPH3 KIF23 CDC6 CDCA8 MELTF CD28 TAB2 PDE3B CDK6 RPS15 DNAJA1 IER2
## TOX     0      0     0    0     0     0    0    0     0    0     0      0    0
##     RGCC IFRD1 NAMPT CD69 YPEL5 DDX3Y NR4A2 SLC2A3 GALNT3 TUBA1A ERCC1
## TOX    0     0     0    0     0     0     0      0      0      0     0
##     AL691403.1 GALM TNF XYLT1 ATF7IP2 ERN1 PDE4D DAB1 IGF1R PCSK5 PRKN NEXMIF
## TOX          0    0   0     0       0    0     0    0     0     0    0      0
##     SATB1-AS1 ZNF516 SORCS3 SLAMF1 RPS12 EIF4A3 AL360012.1 SLC10A1 ATP1B3
## TOX         0      0      0      0     0      0          0       0      0
##     TSC22D2 CR1 ANK1 MTUS2 GRIP1 SUSD4 RASGEF1A AL137789.1 ZBTB7C NETO2 MSC-AS1
## TOX       0   0    0     0     0     0        0          0      0     0       0
##     SLC38A2 AC253572.2 CSKMT ADGRG1 CYTOR CD8B PLEKHA5 KIF20B
## TOX       0          0     0      0     0    0       0      0
#most genes never occur with tox, but some subset are greater than 50% of modules, which may suggest a core module subset 
sort(results_frame["ZEB2",], decreasing=TRUE)
## Warning in xtfrm.data.frame(x): cannot xtfrm data frames
##           ZEB2      AOAH   C1orf21     PDGFD AC243829.2 LINC02384    SETBP1
## ZEB2 0.1891892 0.1891892 0.1891892 0.1891892  0.1621622 0.1621622 0.1351351
##        PPP2R2B      VAV3     MCTP2    TGFBR3     KLRK1     ADGRG5      AGAP1
## ZEB2 0.1351351 0.1351351 0.1351351 0.1081081 0.1081081 0.08108108 0.08108108
##           JAZF1       GNLY      KLRD1      IKZF2      DTHD1        TOX
## ZEB2 0.08108108 0.08108108 0.08108108 0.08108108 0.08108108 0.08108108
##        ARHGAP26      SAMD3       SGCD      KLRF1        LYN AC093865.1
## ZEB2 0.08108108 0.08108108 0.08108108 0.05405405 0.05405405 0.05405405
##           SYNE1     OSBPL5     FAM49A     HIVEP3   ARHGAP10   KIAA1671
## ZEB2 0.05405405 0.05405405 0.05405405 0.02702703 0.02702703 0.02702703
##              F5      NCALD      MYBL1      SYTL2  LINC00299      PLCB1
## ZEB2 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##        IFNG-AS1      TPRG1      LRIG1       NKG7       CCL5       GZMH
## ZEB2 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          FGFBP2       GZMB       PRF1       GZMA       CST7      KLRC2
## ZEB2 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##            CD8A      KLRC3      TRGC2      EFHD2       NCR1       TRDC
## ZEB2 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##         TRG-AS1       GAB3        A2M        PZP        ID2       RGS1
## ZEB2 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          TBXAS1       GAS7    GRAMD1B     ATP8B4      MYO3B       RIN3
## ZEB2 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##           CEP78     ATP8A1       MYO6     SLC4A4   RABGAP1L      PRR5L
## ZEB2 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##           AUTS2      LATS2    ATXN7L1      EFNA5      DOCK5      NCAM1
## ZEB2 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##        ARHGEF28     ADGRG1      CYTOR       CD8B    PLEKHA5     KIF20B
## ZEB2 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##      AC105402.3 BANK1 AFF3 IGKC VCAN HDAC9 CDK14 BACH2 UBE2E2 TRIO BMP2K CCSER1
## ZEB2          0     0    0    0    0     0     0     0      0    0     0      0
##      LARGE1 RPL41 RPL13 RPLP2 RPL28 ACTB RPS19 RPS2 B2M LTB EEF1A1 PFN1 ACTG1
## ZEB2      0     0     0     0     0    0     0    0   0   0      0    0     0
##      CFL1 GAPDH TRBC1 SERINC5 INPP4B PAG1 ANK3 CAMK4 ARHGAP15 CASK CDC14A
## ZEB2    0     0     0       0      0    0    0     0        0    0      0
##      HIVEP2 MDFIC LEF1 DOCK10 ADAM19 PRKCA RASGRF2 AKT3 PCAT1 MAML2 FAAH2
## ZEB2      0     0    0      0      0     0       0    0     0     0     0
##      TNFAIP8 PVT1 GNAQ NR3C2 MAP3K1 FMN1 TSHZ2 FHIT PLCL1 TXK SESN3 CMTM8 PARP8
## ZEB2       0    0    0     0      0    0     0    0     0   0     0     0     0
##      THEMIS RORA ITGB1 ST8SIA1 CDHR3 SGPP2 TTN AL353660.1 GCNT4 LINC01727
## ZEB2      0    0     0       0     0     0   0          0     0         0
##      LDLRAD4 CCDC141 ABLIM1 SLC9A9 UBASH3B BICDL1 PHEX GLCCI1 ITGA4 NELL2
## ZEB2       0       0      0      0       0      0    0      0     0     0
##      LINC01934 DISC1 PCED1B MLLT3 AL589693.1 ADAM12 PTPN13 MCF2L2 CCR6 FRY
## ZEB2         0     0      0     0          0      0      0      0    0   0
##      COL5A3 PLD1 RUNX2 CEP112 AL136456.1 CYTH3 HLF AF165147.1 IL18R1 DPP4
## ZEB2      0    0     0      0          0     0   0          0      0    0
##      ANTXR2 RBMS1 BTBD11 IL18RAP IL12RB2 COLQ PDE4B RNF157 MB21D2 NIBAN1
## ZEB2      0     0      0       0       0    0     0      0      0      0
##      LINC01619 FOXP1 CELF2 SMCHD1 MGAT5 LRRC8C GPRIN3 FOXO1 FKBP5 TNFAIP3 SNX9
## ZEB2         0     0     0      0     0      0      0     0     0       0    0
##      RNF19A PELI1 AC139720.1 CSGALNACT1 AC233976.1 RPS18 RPLP1 RPL10 CRIP1
## ZEB2      0     0          0          0          0     0     0     0     0
##      PLCG2 CTSW PIK3AP1 XACT AC078778.1 MERTK CASC15 ITGA9-AS1 MYB HMGA2
## ZEB2     0    0       0    0          0     0      0         0   0     0
##      SLC24A3 ST3GAL6 UGGT2 THSD7A THRB LNCAROD RNF217-AS1 EMID1 ITGA9 BACE2
## ZEB2       0       0     0      0    0       0          0     0     0     0
##      PATJ BCL2 SOS1 TIAM1 ESR1 AC005237.1 EGLN3 ACVR2A FUT8 KAT2B RBPJ IL7
## ZEB2    0    0    0     0    0          0     0      0    0     0    0   0
##      ZC2HC1A ANKRD44 FYN CYTH1 ARAP2 SIK3 SMAD3 PPP1R16B CNOT6L PCNX1 SNED1
## ZEB2       0       0   0     0     0    0     0        0      0     0     0
##      SEMA5A GATA3 GAB2 AP003086.1 LINC00511 AC013652.1 PI16 CHST11 LINC02694
## ZEB2      0     0    0          0         0          0    0      0         0
##      JUNB FOS JUN TEX14 FOSB LMNA ANXA1 AC022217.3 LINC00910 CROCC EGR1
## ZEB2    0   0   0     0    0    0     0          0         0     0    0
##      AC103591.3 MBNL1 ZBTB20 KLF12 AFF1 SKAP1 DPYD SCFD2 SAMD12 ADK ITFG1
## ZEB2          0     0      0     0    0     0    0     0      0   0     0
##      FBXL17 SLC16A1-AS1 AC008403.3 TTC7B KANK1 PLXNA4 DST EPHA1-AS1 CERS6
## ZEB2      0           0          0     0     0      0   0         0     0
##      FAM13A ADTRP LINC01725 APP ADAM23 EDA GREM2 ARID5B MTSS1 LINC01362 ICOS
## ZEB2      0     0         0   0      0   0     0      0     0         0    0
##      GPR155 SBF2 POC1B SRBD1 SMYD3 MAMLD1 RPL13A RPL19 RPS23 RPS28 RPS8 TMSB10
## ZEB2      0    0     0     0     0      0      0     0     0     0    0      0
##      RPL11 RPL37A RPL18A RPL37 FAU RPL23A RPS26 S100A6 SLC9A7 MIR4435-2HG
## ZEB2     0      0      0     0   0      0     0      0      0           0
##      ST8SIA6 FCRL3 MAP3K8 TOX2 EBF1 HLA-DRA LRRK2 TCF4 TBC1D9 KDM4A-AS1 KHDRBS2
## ZEB2       0     0      0    0    0       0     0    0      0         0       0
##      XRCC2 KMO TTC39C KLHL5 KIF2C DEPDC1B RRM2 CDCA2 POLQ NCAPG E2F7 BUB1B
## ZEB2     0   0      0     0     0       0    0     0    0     0    0     0
##      NCAPH RBBP8 DIAPH3 KIF23 CDC6 CDCA8 MELTF CD28 TAB2 PDE3B CDK6 RPS15
## ZEB2     0     0      0     0    0     0     0    0    0     0    0     0
##      DNAJA1 IER2 RGCC IFRD1 NAMPT CD69 YPEL5 DDX3Y NR4A2 SLC2A3 GALNT3 TUBA1A
## ZEB2      0    0    0     0     0    0     0     0     0      0      0      0
##      ERCC1 AL691403.1 GALM TNF RUNX1 XYLT1 ATF7IP2 ERN1 PDE4D DAB1 PHACTR2
## ZEB2     0          0    0   0     0     0       0    0     0    0       0
##      IGF1R PCSK5 PRKN NEXMIF SATB1-AS1 ZNF516 SORCS3 SLAMF1 RPS12 EIF4A3
## ZEB2     0     0    0      0         0      0      0      0     0      0
##      AL360012.1 SLC10A1 ATP1B3 TSC22D2 ATXN1 SLCO3A1 SLC16A10 SH3RF3 SFMBT2
## ZEB2          0       0      0       0     0       0        0      0      0
##      SLC22A23 NR3C1 SLF1 PAM FGF14 ETV6 KIAA0825 ZNF365 FER TRPS1 PTPRM PELI2
## ZEB2        0     0    0   0     0    0        0      0   0     0     0     0
##      MIR181A1HG CR1 ANK1 MTUS2 GRIP1 SUSD4 RASGEF1A AL137789.1 ZBTB7C NETO2
## ZEB2          0   0    0     0     0     0        0          0      0     0
##      MSC-AS1 SLC38A2 AC253572.2 CSKMT
## ZEB2       0       0          0     0
sort(results_frame["CD28",], decreasing=TRUE)
## Warning in xtfrm.data.frame(x): cannot xtfrm data frames
##          INPP4B       PAG1       ANK3      CAMK4   ARHGAP15     CDC14A
## CD28 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          DOCK10     ADAM19      RBMS1     MB21D2       BCL2     TTC39C
## CD28 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##            CD28       TAB2      PDE3B       CDK6 ZEB2 AOAH SETBP1 AC243829.2
## CD28 0.02702703 0.02702703 0.02702703 0.02702703    0    0      0          0
##      C1orf21 PDGFD TGFBR3 PPP2R2B ADGRG5 AGAP1 LINC02384 HIVEP3 ARHGAP10 VAV3
## CD28       0     0      0       0      0     0         0      0        0    0
##      JAZF1 KIAA1671 AC105402.3 BANK1 AFF3 IGKC VCAN HDAC9 CDK14 BACH2 UBE2E2
## CD28     0        0          0     0    0    0    0     0     0     0      0
##      TRIO BMP2K CCSER1 LARGE1 RPL41 RPL13 RPLP2 RPL28 ACTB RPS19 RPS2 B2M LTB
## CD28    0     0      0      0     0     0     0     0    0     0    0   0   0
##      EEF1A1 PFN1 ACTG1 CFL1 GAPDH TRBC1 SERINC5 CASK HIVEP2 MDFIC LEF1 PRKCA
## CD28      0    0     0    0     0     0       0    0      0     0    0     0
##      RASGRF2 AKT3 PCAT1 MAML2 FAAH2 TNFAIP8 PVT1 GNAQ NR3C2 MAP3K1 FMN1 TSHZ2
## CD28       0    0     0     0     0       0    0    0     0      0    0     0
##      FHIT PLCL1 TXK SESN3 CMTM8 PARP8 THEMIS RORA ITGB1 ST8SIA1 CDHR3 SGPP2 TTN
## CD28    0     0   0     0     0     0      0    0     0       0     0     0   0
##      AL353660.1 GCNT4 F5 LINC01727 LDLRAD4 CCDC141 ABLIM1 SLC9A9 UBASH3B BICDL1
## CD28          0     0  0         0       0       0      0      0       0      0
##      PHEX GLCCI1 ITGA4 NELL2 LINC01934 DISC1 PCED1B MLLT3 AL589693.1 ADAM12
## CD28    0      0     0     0         0     0      0     0          0      0
##      PTPN13 MCF2L2 CCR6 FRY COL5A3 PLD1 RUNX2 CEP112 AL136456.1 CYTH3 HLF NCALD
## CD28      0      0    0   0      0    0     0      0          0     0   0     0
##      MYBL1 SYTL2 AF165147.1 LINC00299 IL18R1 PLCB1 DPP4 ANTXR2 IFNG-AS1 TPRG1
## CD28     0     0          0         0      0     0    0      0        0     0
##      LRIG1 BTBD11 IL18RAP IL12RB2 COLQ PDE4B RNF157 NIBAN1 LINC01619 FOXP1
## CD28     0      0       0       0    0     0      0      0         0     0
##      CELF2 SMCHD1 MGAT5 LRRC8C GPRIN3 FOXO1 FKBP5 TNFAIP3 SNX9 RNF19A PELI1
## CD28     0      0     0      0      0     0     0       0    0      0     0
##      AC139720.1 CSGALNACT1 AC233976.1 RPS18 RPLP1 RPL10 CRIP1 PLCG2 NKG7 CCL5
## CD28          0          0          0     0     0     0     0     0    0    0
##      GZMH GNLY FGFBP2 CTSW GZMB KLRD1 KLRF1 PIK3AP1 XACT AC078778.1 MERTK
## CD28    0    0      0    0    0     0     0       0    0          0     0
##      CASC15 ITGA9-AS1 MYB HMGA2 SLC24A3 ST3GAL6 UGGT2 THSD7A THRB LNCAROD
## CD28      0         0   0     0       0       0     0      0    0       0
##      RNF217-AS1 EMID1 ITGA9 BACE2 PATJ SOS1 TIAM1 ESR1 AC005237.1 EGLN3 ACVR2A
## CD28          0     0     0     0    0    0     0    0          0     0      0
##      FUT8 KAT2B RBPJ IL7 ZC2HC1A ANKRD44 FYN CYTH1 ARAP2 SIK3 SMAD3 PPP1R16B
## CD28    0     0    0   0       0       0   0     0     0    0     0        0
##      CNOT6L PCNX1 SNED1 SEMA5A GATA3 GAB2 AP003086.1 LINC00511 AC013652.1 PI16
## CD28      0     0     0      0     0    0          0         0          0    0
##      CHST11 LINC02694 PRF1 KLRK1 GZMA CST7 KLRC2 CD8A IKZF2 KLRC3 TRGC2 EFHD2
## CD28      0         0    0     0    0    0     0    0     0     0     0     0
##      NCR1 LYN TRDC MCTP2 DTHD1 TRG-AS1 GAB3 TOX AC093865.1 A2M PZP ID2 RGS1
## CD28    0   0    0     0     0       0    0   0          0   0   0   0    0
##      JUNB FOS JUN TEX14 FOSB LMNA ANXA1 AC022217.3 LINC00910 CROCC EGR1
## CD28    0   0   0     0    0    0     0          0         0     0    0
##      AC103591.3 MBNL1 ZBTB20 KLF12 AFF1 SKAP1 DPYD SCFD2 SAMD12 ADK ITFG1
## CD28          0     0      0     0    0     0    0     0      0   0     0
##      FBXL17 SLC16A1-AS1 AC008403.3 TTC7B KANK1 PLXNA4 DST EPHA1-AS1 CERS6
## CD28      0           0          0     0     0      0   0         0     0
##      FAM13A ADTRP LINC01725 APP ADAM23 EDA GREM2 ARID5B MTSS1 LINC01362 ICOS
## CD28      0     0         0   0      0   0     0      0     0         0    0
##      GPR155 SBF2 POC1B SRBD1 SMYD3 MAMLD1 RPL13A RPL19 RPS23 RPS28 RPS8 TMSB10
## CD28      0    0     0     0     0      0      0     0     0     0    0      0
##      RPL11 RPL37A RPL18A RPL37 FAU RPL23A RPS26 S100A6 TBXAS1 SLC9A7
## CD28     0      0      0     0   0      0     0      0      0      0
##      MIR4435-2HG ST8SIA6 FCRL3 MAP3K8 GAS7 GRAMD1B ARHGAP26 TOX2 EBF1 HLA-DRA
## CD28           0       0     0      0    0       0        0    0    0       0
##      LRRK2 TCF4 TBC1D9 KDM4A-AS1 KHDRBS2 XRCC2 KMO SYNE1 OSBPL5 ATP8B4 MYO3B
## CD28     0    0      0         0       0     0   0     0      0      0     0
##      RIN3 FAM49A CEP78 SAMD3 ATP8A1 MYO6 KLHL5 KIF2C DEPDC1B RRM2 CDCA2 POLQ
## CD28    0      0     0     0      0    0     0     0       0    0     0    0
##      NCAPG E2F7 BUB1B NCAPH RBBP8 DIAPH3 KIF23 CDC6 CDCA8 MELTF RPS15 SGCD
## CD28     0    0     0     0     0      0     0    0     0     0     0    0
##      SLC4A4 RABGAP1L PRR5L DNAJA1 IER2 RGCC IFRD1 NAMPT CD69 YPEL5 DDX3Y NR4A2
## CD28      0        0     0      0    0    0     0     0    0     0     0     0
##      SLC2A3 GALNT3 TUBA1A ERCC1 AL691403.1 GALM TNF RUNX1 XYLT1 ATF7IP2 ERN1
## CD28      0      0      0     0          0    0   0     0     0       0    0
##      PDE4D DAB1 PHACTR2 IGF1R PCSK5 PRKN NEXMIF SATB1-AS1 ZNF516 SORCS3 SLAMF1
## CD28     0    0       0     0     0    0      0         0      0      0      0
##      RPS12 EIF4A3 AL360012.1 SLC10A1 ATP1B3 TSC22D2 AUTS2 LATS2 ATXN7L1 EFNA5
## CD28     0      0          0       0      0       0     0     0       0     0
##      DOCK5 NCAM1 ARHGEF28 ATXN1 SLCO3A1 SLC16A10 SH3RF3 SFMBT2 SLC22A23 NR3C1
## CD28     0     0        0     0       0        0      0      0        0     0
##      SLF1 PAM FGF14 ETV6 KIAA0825 ZNF365 FER TRPS1 PTPRM PELI2 MIR181A1HG CR1
## CD28    0   0     0    0        0      0   0     0     0     0          0   0
##      ANK1 MTUS2 GRIP1 SUSD4 RASGEF1A AL137789.1 ZBTB7C NETO2 MSC-AS1 SLC38A2
## CD28    0     0     0     0        0          0      0     0       0       0
##      AC253572.2 CSKMT ADGRG1 CYTOR CD8B PLEKHA5 KIF20B
## CD28          0     0      0     0    0       0      0
sort(results_frame["CCR6",], decreasing=TRUE)
## Warning in xtfrm.data.frame(x): cannot xtfrm data frames
##          MCF2L2       CCR6        FRY      RUNX2 AL136456.1      BACH2
## CCR6 0.08108108 0.08108108 0.08108108 0.08108108 0.08108108 0.05405405
##            RORA      NELL2     ADAM12     PTPN13     SAMD12      PDE4D
## CCR6 0.05405405 0.05405405 0.05405405 0.05405405 0.05405405 0.05405405
##          ZNF516    SERINC5     INPP4B       PAG1       ANK3      CAMK4
## CCR6 0.05405405 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##        ARHGAP15       CASK     CDC14A     HIVEP2      MDFIC       LEF1
## CCR6 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          ADAM19      PRKCA    RASGRF2      MAML2      NR3C2      TSHZ2
## CCR6 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##            FHIT      SESN3     THEMIS AL589693.1     COL5A3       PLD1
## CCR6 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          CEP112      CYTH3        HLF  LINC00299      PLCB1     BTBD11
## CCR6 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##           PDE4B     RNF157     MB21D2      MGAT5     LRRC8C     GPRIN3
## CCR6 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##      AC139720.1       BCL2       SOS1  LINC00511        PZP      MBNL1
## CCR6 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          ZBTB20       AFF1      KANK1     PLXNA4        DST      CERS6
## CCR6 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##          FAM13A     ADAM23        EDA      GREM2     TTC39C      RUNX1
## CCR6 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##           XYLT1    ATF7IP2       ERN1       DAB1    PHACTR2      IGF1R
## CCR6 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##           PCSK5       PRKN     NEXMIF  SATB1-AS1     SORCS3     SLAMF1
## CCR6 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##             CR1       ANK1      MTUS2      GRIP1      SUSD4   RASGEF1A
## CCR6 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703 0.02702703
##      AL137789.1     ZBTB7C      NETO2    MSC-AS1 ZEB2 AOAH SETBP1 AC243829.2
## CCR6 0.02702703 0.02702703 0.02702703 0.02702703    0    0      0          0
##      C1orf21 PDGFD TGFBR3 PPP2R2B ADGRG5 AGAP1 LINC02384 HIVEP3 ARHGAP10 VAV3
## CCR6       0     0      0       0      0     0         0      0        0    0
##      JAZF1 KIAA1671 AC105402.3 BANK1 AFF3 IGKC VCAN HDAC9 CDK14 UBE2E2 TRIO
## CCR6     0        0          0     0    0    0    0     0     0      0    0
##      BMP2K CCSER1 LARGE1 RPL41 RPL13 RPLP2 RPL28 ACTB RPS19 RPS2 B2M LTB EEF1A1
## CCR6     0      0      0     0     0     0     0    0     0    0   0   0      0
##      PFN1 ACTG1 CFL1 GAPDH TRBC1 DOCK10 AKT3 PCAT1 FAAH2 TNFAIP8 PVT1 GNAQ
## CCR6    0     0    0     0     0      0    0     0     0       0    0    0
##      MAP3K1 FMN1 PLCL1 TXK CMTM8 PARP8 ITGB1 ST8SIA1 CDHR3 SGPP2 TTN AL353660.1
## CCR6      0    0     0   0     0     0     0       0     0     0   0          0
##      GCNT4 F5 LINC01727 LDLRAD4 CCDC141 ABLIM1 SLC9A9 UBASH3B BICDL1 PHEX
## CCR6     0  0         0       0       0      0      0       0      0    0
##      GLCCI1 ITGA4 LINC01934 DISC1 PCED1B MLLT3 NCALD MYBL1 SYTL2 AF165147.1
## CCR6      0     0         0     0      0     0     0     0     0          0
##      IL18R1 DPP4 ANTXR2 RBMS1 IFNG-AS1 TPRG1 LRIG1 IL18RAP IL12RB2 COLQ NIBAN1
## CCR6      0    0      0     0        0     0     0       0       0    0      0
##      LINC01619 FOXP1 CELF2 SMCHD1 FOXO1 FKBP5 TNFAIP3 SNX9 RNF19A PELI1
## CCR6         0     0     0      0     0     0       0    0      0     0
##      CSGALNACT1 AC233976.1 RPS18 RPLP1 RPL10 CRIP1 PLCG2 NKG7 CCL5 GZMH GNLY
## CCR6          0          0     0     0     0     0     0    0    0    0    0
##      FGFBP2 CTSW GZMB KLRD1 KLRF1 PIK3AP1 XACT AC078778.1 MERTK CASC15
## CCR6      0    0    0     0     0       0    0          0     0      0
##      ITGA9-AS1 MYB HMGA2 SLC24A3 ST3GAL6 UGGT2 THSD7A THRB LNCAROD RNF217-AS1
## CCR6         0   0     0       0       0     0      0    0       0          0
##      EMID1 ITGA9 BACE2 PATJ TIAM1 ESR1 AC005237.1 EGLN3 ACVR2A FUT8 KAT2B RBPJ
## CCR6     0     0     0    0     0    0          0     0      0    0     0    0
##      IL7 ZC2HC1A ANKRD44 FYN CYTH1 ARAP2 SIK3 SMAD3 PPP1R16B CNOT6L PCNX1 SNED1
## CCR6   0       0       0   0     0     0    0     0        0      0     0     0
##      SEMA5A GATA3 GAB2 AP003086.1 AC013652.1 PI16 CHST11 LINC02694 PRF1 KLRK1
## CCR6      0     0    0          0          0    0      0         0    0     0
##      GZMA CST7 KLRC2 CD8A IKZF2 KLRC3 TRGC2 EFHD2 NCR1 LYN TRDC MCTP2 DTHD1
## CCR6    0    0     0    0     0     0     0     0    0   0    0     0     0
##      TRG-AS1 GAB3 TOX AC093865.1 A2M ID2 RGS1 JUNB FOS JUN TEX14 FOSB LMNA
## CCR6       0    0   0          0   0   0    0    0   0   0     0    0    0
##      ANXA1 AC022217.3 LINC00910 CROCC EGR1 AC103591.3 KLF12 SKAP1 DPYD SCFD2
## CCR6     0          0         0     0    0          0     0     0    0     0
##      ADK ITFG1 FBXL17 SLC16A1-AS1 AC008403.3 TTC7B EPHA1-AS1 ADTRP LINC01725
## CCR6   0     0      0           0          0     0         0     0         0
##      APP ARID5B MTSS1 LINC01362 ICOS GPR155 SBF2 POC1B SRBD1 SMYD3 MAMLD1
## CCR6   0      0     0         0    0      0    0     0     0     0      0
##      RPL13A RPL19 RPS23 RPS28 RPS8 TMSB10 RPL11 RPL37A RPL18A RPL37 FAU RPL23A
## CCR6      0     0     0     0    0      0     0      0      0     0   0      0
##      RPS26 S100A6 TBXAS1 SLC9A7 MIR4435-2HG ST8SIA6 FCRL3 MAP3K8 GAS7 GRAMD1B
## CCR6     0      0      0      0           0       0     0      0    0       0
##      ARHGAP26 TOX2 EBF1 HLA-DRA LRRK2 TCF4 TBC1D9 KDM4A-AS1 KHDRBS2 XRCC2 KMO
## CCR6        0    0    0       0     0    0      0         0       0     0   0
##      SYNE1 OSBPL5 ATP8B4 MYO3B RIN3 FAM49A CEP78 SAMD3 ATP8A1 MYO6 KLHL5 KIF2C
## CCR6     0      0      0     0    0      0     0     0      0    0     0     0
##      DEPDC1B RRM2 CDCA2 POLQ NCAPG E2F7 BUB1B NCAPH RBBP8 DIAPH3 KIF23 CDC6
## CCR6       0    0     0    0     0    0     0     0     0      0     0    0
##      CDCA8 MELTF CD28 TAB2 PDE3B CDK6 RPS15 SGCD SLC4A4 RABGAP1L PRR5L DNAJA1
## CCR6     0     0    0    0     0    0     0    0      0        0     0      0
##      IER2 RGCC IFRD1 NAMPT CD69 YPEL5 DDX3Y NR4A2 SLC2A3 GALNT3 TUBA1A ERCC1
## CCR6    0    0     0     0    0     0     0     0      0      0      0     0
##      AL691403.1 GALM TNF RPS12 EIF4A3 AL360012.1 SLC10A1 ATP1B3 TSC22D2 AUTS2
## CCR6          0    0   0     0      0          0       0      0       0     0
##      LATS2 ATXN7L1 EFNA5 DOCK5 NCAM1 ARHGEF28 ATXN1 SLCO3A1 SLC16A10 SH3RF3
## CCR6     0       0     0     0     0        0     0       0        0      0
##      SFMBT2 SLC22A23 NR3C1 SLF1 PAM FGF14 ETV6 KIAA0825 ZNF365 FER TRPS1 PTPRM
## CCR6      0        0     0    0   0     0    0        0      0   0     0     0
##      PELI2 MIR181A1HG SLC38A2 AC253572.2 CSKMT ADGRG1 CYTOR CD8B PLEKHA5 KIF20B
## CCR6     0          0       0          0     0      0     0    0       0      0
#we can also use heirarchical clustering to see if there are patterns here to pickup on. 
#we can then make another cut. The difference here is we'll pick something that results in many singletons that can be fitlered out 

  data<-matrix(unlist(results_frame), nrow = length(results_frame))
  rownames(data)<-colnames(data)<-rownames(results_frame)
  p1<-heatmap(data, keep.dendro=TRUE)
  print(heatmap(data))

## $rowInd
##   [1] 217 160 164 234 222 352 327   9 321 325  15 320 309  10   7 233   8   3
##  [19]  11  14 229   4   6   5   1   2  36  31  30  32 240 243 241 246 359 356
##  [37] 357 365 249 367 370 388 389 244 248 145 358 360 239 242 152  37  38  35
##  [55]  33 153 287  44  43  42  41  34  40 306  39 290 297 305 304 302 300 299
##  [73] 298 296 295 294 293 292 291 288 289 237 238 369 245 247 430 428 429 363
##  [91] 362 364 392 391 387 390 236 235 158 230 165 227 161 163 157 159 228 218
## [109] 219 231 226 225 224 223 221 216 220  24 376 384 112 105 106 132 133 141
## [127] 386 385 383 382 381 380 379 377 375 373 374 119 121 211 103 104 427 426
## [145] 425 424 423 422 421 420 418 419 127 125 126 301 435 434 433 431 432 139
## [163] 331 144  29  27  26  25  23  22  17  21  28  18  20 319 318 317 316 315
## [181] 314 313 312 310 311 366 166 162 399 398 397 396 395 393 394 307 308 353
## [199]  16  12  13 329 328 326 324 322 323 109 213 210 205 208 350 349 347 348
## [217] 196 195 194 193 192 190 184 189 131 130 122 118 120 183 182 181 180 179
## [235] 178 177 176 175 174 173 172 171 170 169 167 168 250 361 368 371 204 201
## [253] 200 199 197 198 148 147 146 138 143 351 156 154 155 114 113 108 111 346
## [271] 345 344 343 342 341 340 339 338 337 336 335 334 332 333  46  50  48  55
## [289]  47  71  74  45  52  70  62 185  58  57  49 252 186 251 142  91  63  56
## [307]  75  98  96  61  72  97  78 110 258 107 140  51 128 372 378 115 116 136
## [325] 187 256 151 255 277  88  64  85  92 117 129 135 303  19 150 215 214 212
## [343] 209 206 207 191 354 355 137 202 203 417 416 415 414 413 412 411 410 409
## [361] 408 407 406 405 404 403 402 400 401 330  53  59  67  66  86  65  68  69
## [379]  79 101 100  99  95  94  93  90  89  83  82  81  60  76  80  87  73  84
## [397] 269 254 265 149  54  77 123 134 232 188 124 276 275 274 270 266 267 102
## [415] 286 285 284 283 282 281 280 279 278 273 272 271 268 264 263 262 261 260
## [433] 259 253 257
## 
## $colInd
##   [1] 217 160 164 234 222 352 327   9 321 325  15 320 309  10   7 233   8   3
##  [19]  11  14 229   4   6   5   1   2  36  31  30  32 240 243 241 246 359 356
##  [37] 357 365 249 367 370 388 389 244 248 145 358 360 239 242 152  37  38  35
##  [55]  33 153 287  44  43  42  41  34  40 306  39 290 297 305 304 302 300 299
##  [73] 298 296 295 294 293 292 291 288 289 237 238 369 245 247 430 428 429 363
##  [91] 362 364 392 391 387 390 236 235 158 230 165 227 161 163 157 159 228 218
## [109] 219 231 226 225 224 223 221 216 220  24 376 384 112 105 106 132 133 141
## [127] 386 385 383 382 381 380 379 377 375 373 374 119 121 211 103 104 427 426
## [145] 425 424 423 422 421 420 418 419 127 125 126 301 435 434 433 431 432 139
## [163] 331 144  29  27  26  25  23  22  17  21  28  18  20 319 318 317 316 315
## [181] 314 313 312 310 311 366 166 162 399 398 397 396 395 393 394 307 308 353
## [199]  16  12  13 329 328 326 324 322 323 109 213 210 205 208 350 349 347 348
## [217] 196 195 194 193 192 190 184 189 131 130 122 118 120 183 182 181 180 179
## [235] 178 177 176 175 174 173 172 171 170 169 167 168 250 361 368 371 204 201
## [253] 200 199 197 198 148 147 146 138 143 351 156 154 155 114 113 108 111 346
## [271] 345 344 343 342 341 340 339 338 337 336 335 334 332 333  46  50  48  55
## [289]  47  71  74  45  52  70  62 185  58  57  49 252 186 251 142  91  63  56
## [307]  75  98  96  61  72  97  78 110 258 107 140  51 128 372 378 115 116 136
## [325] 187 256 151 255 277  88  64  85  92 117 129 135 303  19 150 215 214 212
## [343] 209 206 207 191 354 355 137 202 203 417 416 415 414 413 412 411 410 409
## [361] 408 407 406 405 404 403 402 400 401 330  53  59  67  66  86  65  68  69
## [379]  79 101 100  99  95  94  93  90  89  83  82  81  60  76  80  87  73  84
## [397] 269 254 265 149  54  77 123 134 232 188 124 276 275 274 270 266 267 102
## [415] 286 285 284 283 282 281 280 279 278 273 272 271 268 264 263 262 261 260
## [433] 259 253 257
## 
## $Rowv
## NULL
## 
## $Colv
## NULL
  res2 = as.hclust( p1$Rowv )
  print(plot(res2))
## NULL
  abline(0.55, 0)

  height=0.55
  
  res<-cutree(res2, h=as.numeric(height))
  print("number of modules is")
## [1] "number of modules is"
  print(max(res))
## [1] 6
  print(plot(res2))
## NULL
  rect.hclust(res2, h=as.numeric(height), border=2:6)

  #merge based on those identified clusters
  mergedmods<-list()
  for( i in 1:max(res)){
    mergedmods[[i]]<-names(res)[res==i]
    }
  
#now we want to filter out this new module set to remove modules that are frequently singletons 

singletonlist<-colnames(lookup)[colSums(lookup)==1]
consensusmods2<-list()
for (i in mergedmods){
  print(sum(i%in%singletonlist)/length(i))
  if((sum(i%in%singletonlist)/length(i))<0.3){consensusmods2[length(consensusmods2)+1]<-list(i)}
}
## [1] 0
## [1] 0.7521368
## [1] 0.4369748
## [1] 0
## [1] 0
## [1] 0
# in this case we can see that 2 modules have >30% singletons, while the rest occur across individuals, representing a better "core" 
#4 modules remain
saveRDS(consensusmods2, "~/gibbs/DOGMAMORPH/Ranalysis/modules/CD4memory_core.rds")
#as a final iteration, we can combine the two methods, getting a union set from the first method and then filtering out singletons from each of those modules separately 
consensusmods3<-list()
for (i in consensusmods){
  consensusmods3[length(consensusmods3)+1]<-list(i[!i%in%singletonlist])
}
saveRDS(consensusmods3, "~/gibbs/DOGMAMORPH/Ranalysis/modules/CD4memory_consensus_no_singletons.rds")

Downstream

From here the annotation is up to you and what makes sense for your question. These are at the end of the day gene lists and they can be scored as such via GO/IPA/ENRICHr/Etc. You can also send this back into the single cell object and score each module as below with the consensus mods and visualize them, keep in mind your initial population and question when inturpretting the results. IE if we get B cell annotated modules in our T cell results, something has wrong.

results<-AddModuleScore(results, consensusmods3)
FeaturePlot(results, features = paste0("Cluster", 1:9), ncol=4, min.cutoff = 'q5', max.cutoff = 'q95')

Depending on covariates you might also want to check if any are associated with a particular condition In this case we check participants, condition, and timepoint.

No module is dominated by just one participant or just one treatment, but it does appear 4 and 6 are slightly elevated in timepoint 3months

VlnPlot(results, features = paste0("Cluster", 1:9),group.by = "Participant", ncol=4,pt.size = 0)

VlnPlot(results, features = paste0("Cluster", 1:9),group.by = "Timepoint", ncol=4,pt.size = 0)

VlnPlot(results, features = paste0("Cluster", 1:9),group.by = "Treatment", ncol=4,pt.size = 0)

We can also look at combinations, such as timepoint and treatment We can then see interesting patterns of modules that are associated across our conditions, especially if we focus in on the clusters we initially identified these from Ex module 3 and 9 both appear down in 3 months treatment Naltraxone but not the other two

results$TP_Treatment<-paste(results$Treatment, results$Timepoint)
VlnPlot(results, features = paste0("Cluster", 1:9),group.by = "TP_Treatment", ncol=4,pt.size = 0)

VlnPlot(results, features = paste0("Cluster", 1:9),group.by = "TP_Treatment",idents = c(1,2,3,4), ncol=4,pt.size = 0)

devtools::session_info()
## Warning in system("timedatectl", intern = TRUE): running command 'timedatectl'
## had status 1
## - Session info ---------------------------------------------------------------
##  setting  value
##  version  R version 4.2.0 (2022-04-22)
##  os       Red Hat Enterprise Linux 8.7 (Ootpa)
##  system   x86_64, linux-gnu
##  ui       X11
##  language (EN)
##  collate  C
##  ctype    C
##  tz       Etc/UTC
##  date     2023-05-26
##  pandoc   2.17.1.1 @ /usr/lib/rstudio-server/bin/quarto/bin/ (via rmarkdown)
## 
## - Packages -------------------------------------------------------------------
##  package          * version   date (UTC) lib source
##  abind              1.4-5     2016-07-21 [2] CRAN (R 4.2.0)
##  AnnotationDbi      1.60.2    2023-03-10 [1] Bioconductor
##  backports          1.4.1     2021-12-13 [2] CRAN (R 4.2.0)
##  base64enc          0.1-3     2015-07-28 [2] CRAN (R 4.2.0)
##  beeswarm           0.4.0     2021-06-01 [2] CRAN (R 4.2.0)
##  Biobase            2.58.0    2022-11-01 [1] Bioconductor
##  BiocGenerics       0.44.0    2022-11-01 [1] Bioconductor
##  BiocParallel       1.32.6    2023-03-17 [1] Bioconductor
##  Biostrings         2.66.0    2022-11-01 [1] Bioconductor
##  bit                4.0.5     2022-11-15 [2] CRAN (R 4.2.0)
##  bit64              4.0.5     2020-08-30 [2] CRAN (R 4.2.0)
##  bitops             1.0-7     2021-04-24 [2] CRAN (R 4.2.0)
##  blob               1.2.4     2023-03-17 [1] CRAN (R 4.2.0)
##  bslib              0.4.2     2022-12-16 [1] CRAN (R 4.2.0)
##  cachem             1.0.8     2023-05-01 [1] CRAN (R 4.2.0)
##  callr              3.7.3     2022-11-02 [1] CRAN (R 4.2.0)
##  checkmate          2.1.0     2022-04-21 [2] CRAN (R 4.2.0)
##  cli                3.6.1     2023-03-23 [1] CRAN (R 4.2.0)
##  cluster            2.1.4     2022-08-22 [2] CRAN (R 4.2.0)
##  codetools          0.2-19    2023-02-01 [2] CRAN (R 4.2.0)
##  colorspace         2.1-0     2023-01-23 [2] CRAN (R 4.2.0)
##  cowplot          * 1.1.1     2020-12-30 [2] CRAN (R 4.2.0)
##  crayon             1.5.2     2022-09-29 [2] CRAN (R 4.2.0)
##  data.table         1.14.8    2023-02-17 [2] CRAN (R 4.2.0)
##  DBI                1.1.3     2022-06-18 [2] CRAN (R 4.2.0)
##  deldir             1.0-6     2021-10-23 [2] CRAN (R 4.2.0)
##  devtools           2.4.5     2022-10-11 [1] CRAN (R 4.2.0)
##  digest             0.6.31    2022-12-11 [2] CRAN (R 4.2.0)
##  doParallel       * 1.0.17    2022-02-07 [1] CRAN (R 4.2.0)
##  dplyr            * 1.1.2     2023-04-20 [1] CRAN (R 4.2.0)
##  dynamicTreeCut   * 1.63-1    2016-03-11 [2] CRAN (R 4.2.0)
##  ellipsis           0.3.2     2021-04-29 [2] CRAN (R 4.2.0)
##  evaluate           0.20      2023-01-17 [2] CRAN (R 4.2.0)
##  fansi              1.0.4     2023-01-22 [2] CRAN (R 4.2.0)
##  farver             2.1.1     2022-07-06 [2] CRAN (R 4.2.0)
##  fastcluster      * 1.2.3     2021-05-24 [2] CRAN (R 4.2.0)
##  fastmap            1.1.1     2023-02-24 [1] CRAN (R 4.2.0)
##  fastmatch          1.1-3     2021-07-23 [2] CRAN (R 4.2.0)
##  fitdistrplus       1.1-8     2022-03-10 [2] CRAN (R 4.2.0)
##  flashClust       * 1.01-2    2012-08-21 [1] CRAN (R 4.2.0)
##  foreach          * 1.5.2     2022-02-02 [2] CRAN (R 4.2.0)
##  foreign            0.8-84    2022-12-06 [2] CRAN (R 4.2.0)
##  Formula            1.2-5     2023-02-24 [1] CRAN (R 4.2.0)
##  fs                 1.6.1     2023-02-06 [2] CRAN (R 4.2.0)
##  future             1.32.0    2023-03-07 [1] CRAN (R 4.2.0)
##  future.apply       1.10.0    2022-11-05 [1] CRAN (R 4.2.0)
##  generics           0.1.3     2022-07-05 [2] CRAN (R 4.2.0)
##  GenomeInfoDb       1.34.9    2023-02-02 [1] Bioconductor
##  GenomeInfoDbData   1.2.9     2023-03-17 [1] Bioconductor
##  GenomicRanges      1.50.2    2022-12-16 [1] Bioconductor
##  ggbeeswarm         0.7.2     2023-04-29 [1] CRAN (R 4.2.0)
##  ggplot2          * 3.4.2     2023-04-03 [1] CRAN (R 4.2.0)
##  ggrastr            1.0.1     2021-12-08 [1] CRAN (R 4.2.0)
##  ggrepel            0.9.3     2023-02-03 [1] CRAN (R 4.2.0)
##  ggridges           0.5.4     2022-09-26 [1] CRAN (R 4.2.0)
##  globals            0.16.2    2022-11-21 [1] CRAN (R 4.2.0)
##  glue               1.6.2     2022-02-24 [2] CRAN (R 4.2.0)
##  GO.db              3.16.0    2023-03-17 [1] Bioconductor
##  goftest            1.2-3     2021-10-07 [2] CRAN (R 4.2.0)
##  gridExtra          2.3       2017-09-09 [2] CRAN (R 4.2.0)
##  gtable             0.3.3     2023-03-21 [1] CRAN (R 4.2.0)
##  highr              0.10      2022-12-22 [1] CRAN (R 4.2.0)
##  Hmisc            * 5.1-0     2023-05-08 [1] CRAN (R 4.2.0)
##  htmlTable          2.4.1     2022-07-07 [1] CRAN (R 4.2.0)
##  htmltools          0.5.5     2023-03-23 [1] CRAN (R 4.2.0)
##  htmlwidgets        1.6.2     2023-03-17 [1] CRAN (R 4.2.0)
##  httpuv             1.6.9     2023-02-14 [1] CRAN (R 4.2.0)
##  httr               1.4.5     2023-02-24 [1] CRAN (R 4.2.0)
##  ica                1.0-3     2022-07-08 [2] CRAN (R 4.2.0)
##  igraph             1.4.2     2023-04-07 [1] CRAN (R 4.2.0)
##  impute             1.72.3    2023-01-19 [1] Bioconductor
##  IRanges            2.32.0    2022-11-01 [1] Bioconductor
##  irlba              2.3.5.1   2022-10-03 [1] CRAN (R 4.2.0)
##  iterators        * 1.0.14    2022-02-05 [2] CRAN (R 4.2.0)
##  jquerylib          0.1.4     2021-04-26 [2] CRAN (R 4.2.0)
##  jsonlite           1.8.4     2022-12-06 [2] CRAN (R 4.2.0)
##  KEGGREST           1.38.0    2022-11-01 [1] Bioconductor
##  KernSmooth         2.23-20   2021-05-03 [2] CRAN (R 4.2.0)
##  knitr              1.42      2023-01-25 [1] CRAN (R 4.2.0)
##  labeling           0.4.2     2020-10-20 [2] CRAN (R 4.2.0)
##  later              1.3.0     2021-08-18 [2] CRAN (R 4.2.0)
##  lattice            0.21-8    2023-04-05 [1] CRAN (R 4.2.0)
##  lazyeval           0.2.2     2019-03-15 [2] CRAN (R 4.2.0)
##  leiden             0.4.3     2022-09-10 [1] CRAN (R 4.2.0)
##  lifecycle          1.0.3     2022-10-07 [1] CRAN (R 4.2.0)
##  listenv            0.9.0     2022-12-16 [2] CRAN (R 4.2.0)
##  lmtest             0.9-40    2022-03-21 [2] CRAN (R 4.2.0)
##  magrittr           2.0.3     2022-03-30 [2] CRAN (R 4.2.0)
##  MASS               7.3-59    2023-04-21 [1] CRAN (R 4.2.0)
##  Matrix             1.5-4     2023-04-04 [1] CRAN (R 4.2.0)
##  matrixStats        0.63.0    2022-11-18 [2] CRAN (R 4.2.0)
##  memoise            2.0.1     2021-11-26 [2] CRAN (R 4.2.0)
##  mime               0.12      2021-09-28 [2] CRAN (R 4.2.0)
##  miniUI             0.1.1.1   2018-05-18 [2] CRAN (R 4.2.0)
##  munsell            0.5.0     2018-06-12 [2] CRAN (R 4.2.0)
##  nlme               3.1-162   2023-01-31 [1] CRAN (R 4.2.0)
##  nnet               7.3-19    2023-05-03 [1] CRAN (R 4.2.0)
##  openxlsx         * 4.2.5.2   2023-02-06 [1] CRAN (R 4.2.0)
##  parallelly         1.35.0    2023-03-23 [1] CRAN (R 4.2.0)
##  patchwork          1.1.2     2022-08-19 [1] CRAN (R 4.2.0)
##  pbapply            1.7-0     2023-01-13 [1] CRAN (R 4.2.0)
##  pillar             1.9.0     2023-03-22 [1] CRAN (R 4.2.0)
##  pkgbuild           1.4.0     2022-11-27 [1] CRAN (R 4.2.0)
##  pkgconfig          2.0.3     2019-09-22 [2] CRAN (R 4.2.0)
##  pkgload            1.3.2     2022-11-16 [1] CRAN (R 4.2.0)
##  plotly             4.10.1    2022-11-07 [1] CRAN (R 4.2.0)
##  plyr               1.8.8     2022-11-11 [1] CRAN (R 4.2.0)
##  png                0.1-8     2022-11-29 [1] CRAN (R 4.2.0)
##  polyclip           1.10-4    2022-10-20 [1] CRAN (R 4.2.0)
##  preprocessCore     1.60.2    2023-01-19 [1] Bioconductor
##  prettyunits        1.1.1     2020-01-24 [2] CRAN (R 4.2.0)
##  processx           3.8.1     2023-04-18 [1] CRAN (R 4.2.0)
##  profvis            0.3.8     2023-05-02 [1] CRAN (R 4.2.0)
##  progressr          0.13.0    2023-01-10 [1] CRAN (R 4.2.0)
##  promises           1.2.0.1   2021-02-11 [2] CRAN (R 4.2.0)
##  ps                 1.7.5     2023-04-18 [1] CRAN (R 4.2.0)
##  purrr              1.0.1     2023-01-10 [1] CRAN (R 4.2.0)
##  R6                 2.5.1     2021-08-19 [2] CRAN (R 4.2.0)
##  RANN               2.6.1     2019-01-08 [2] CRAN (R 4.2.0)
##  RColorBrewer       1.1-3     2022-04-03 [2] CRAN (R 4.2.0)
##  Rcpp               1.0.10    2023-01-22 [1] CRAN (R 4.2.0)
##  RcppAnnoy          0.0.20    2022-10-27 [1] CRAN (R 4.2.0)
##  RcppRoll           0.3.0     2018-06-05 [2] CRAN (R 4.2.0)
##  RCurl              1.98-1.12 2023-03-27 [1] CRAN (R 4.2.0)
##  remotes            2.4.2     2021-11-30 [2] CRAN (R 4.2.0)
##  reshape2           1.4.4     2020-04-09 [2] CRAN (R 4.2.0)
##  reticulate         1.28      2023-01-27 [1] CRAN (R 4.2.0)
##  rlang              1.1.1     2023-04-28 [1] CRAN (R 4.2.0)
##  rmarkdown          2.21      2023-03-26 [1] CRAN (R 4.2.0)
##  ROCR               1.0-11    2020-05-02 [2] CRAN (R 4.2.0)
##  rpart              4.1.19    2022-10-21 [1] CRAN (R 4.2.0)
##  Rsamtools          2.14.0    2022-11-01 [1] Bioconductor
##  RSQLite            2.3.1     2023-04-03 [1] CRAN (R 4.2.0)
##  rstudioapi         0.14      2022-08-22 [1] CRAN (R 4.2.0)
##  Rtsne              0.16      2022-04-17 [2] CRAN (R 4.2.0)
##  S4Vectors          0.36.2    2023-02-26 [1] Bioconductor
##  sass               0.4.5     2023-01-24 [1] CRAN (R 4.2.0)
##  scales             1.2.1     2022-08-20 [1] CRAN (R 4.2.0)
##  scattermore        0.8       2022-02-14 [1] CRAN (R 4.2.0)
##  sctransform        0.3.5     2022-09-21 [1] CRAN (R 4.2.0)
##  sessioninfo        1.2.2     2021-12-06 [2] CRAN (R 4.2.0)
##  Seurat           * 4.3.0     2022-11-18 [1] CRAN (R 4.2.0)
##  SeuratObject     * 4.1.3     2022-11-07 [1] CRAN (R 4.2.0)
##  shiny              1.7.4     2022-12-15 [1] CRAN (R 4.2.0)
##  Signac           * 1.9.0     2022-12-08 [1] CRAN (R 4.2.0)
##  sp                 1.6-0     2023-01-19 [1] CRAN (R 4.2.0)
##  spatstat.data      3.0-1     2023-03-12 [1] CRAN (R 4.2.0)
##  spatstat.explore   3.1-0     2023-03-14 [1] CRAN (R 4.2.0)
##  spatstat.geom      3.1-0     2023-03-12 [1] CRAN (R 4.2.0)
##  spatstat.random    3.1-4     2023-03-13 [1] CRAN (R 4.2.0)
##  spatstat.sparse    3.0-1     2023-03-12 [1] CRAN (R 4.2.0)
##  spatstat.utils     3.0-2     2023-03-11 [1] CRAN (R 4.2.0)
##  stringi            1.7.12    2023-01-11 [1] CRAN (R 4.2.0)
##  stringr            1.5.0     2022-12-02 [1] CRAN (R 4.2.0)
##  survival           3.5-5     2023-03-12 [1] CRAN (R 4.2.0)
##  tensor             1.5       2012-05-05 [2] CRAN (R 4.2.0)
##  tibble             3.2.1     2023-03-20 [1] CRAN (R 4.2.0)
##  tidyr              1.3.0     2023-01-24 [1] CRAN (R 4.2.0)
##  tidyselect         1.2.0     2022-10-10 [1] CRAN (R 4.2.0)
##  urlchecker         1.0.1     2021-11-30 [1] CRAN (R 4.2.0)
##  usethis            2.1.6     2022-05-25 [1] CRAN (R 4.2.0)
##  utf8               1.2.3     2023-01-31 [1] CRAN (R 4.2.0)
##  uwot               0.1.14    2022-08-22 [1] CRAN (R 4.2.0)
##  vctrs              0.6.2     2023-04-19 [1] CRAN (R 4.2.0)
##  vipor              0.4.5     2017-03-22 [2] CRAN (R 4.2.0)
##  viridisLite        0.4.2     2023-05-02 [1] CRAN (R 4.2.0)
##  WGCNA            * 1.72-1    2023-01-18 [1] CRAN (R 4.2.0)
##  withr              2.5.0     2022-03-03 [2] CRAN (R 4.2.0)
##  xfun               0.39      2023-04-20 [1] CRAN (R 4.2.0)
##  xtable             1.8-4     2019-04-21 [2] CRAN (R 4.2.0)
##  XVector            0.38.0    2022-11-01 [1] Bioconductor
##  yaml               2.3.7     2023-01-23 [1] CRAN (R 4.2.0)
##  zip                2.3.0     2023-04-17 [1] CRAN (R 4.2.0)
##  zlibbioc           1.44.0    2022-11-01 [1] Bioconductor
##  zoo                1.8-12    2023-04-13 [1] CRAN (R 4.2.0)
## 
##  [1] /gpfs/gibbs/project/ya-chi_ho/jac369/R/4.2
##  [2] /vast/palmer/apps/avx2/software/R/4.2.0-foss-2020b/lib64/R/library
## 
## ------------------------------------------------------------------------------